your mail

Nick Mathewson nickm at
Fri Apr 22 21:56:30 UTC 2005

On Sat, Apr 16, 2005 at 06:40:16AM +0200, fiskio wrote:
> Thanks, 
> >I don't think I've measured the time on more than one platform.  It
> >should take around 17 microseconds on my laptop, but who knows how
> >much time it takes in practice.  Measurement seems in order.
> So it should be fairly safe to say that it is *almost* uneffective in term 
> of time consuption, i could start with no consideration of it, right? 

That depends on your assumptions.  To a first approximation, sure, you
can assume unbounded CPU. :)

> >Right now, all circuits are 3 hops long (since 3 is better than 2, but 4 
> >is >not demonstrably better than 3).  We choosenodes for circuits with 
> >>probability proportional to their declared bandwidth. 
> how? (if the answer is read the code could you please give me some hints on 
> where in the code)

I'd start with circuitbuild.c and routerlist.c, and look around from there.

> >3 - The circuit is changed every minute right? how often do the OP start a
> >new circuit construction? And if there is no traffic does it stick with
> >the old
> >circuit or does it keep on changing it? 
> Ok but since i have to simulate the entity OP i was wondering about the 
> backgroud work, should i make it renew the circuit every minute? or does it 
> start caching lots of circuits and then using them as it goes? 

When there are not enough clean circuits to handle the ports we
"expect" to see, we make more in the background.  When there are no
circuits to handle a given request, we try to make one that can.

> >We try to have new "clean" circuits ready whenever possible, enough to
> >permit exit to the ports that we use "frequently".   When we use a
> >circuit (by sending traffic over it), we mark the circuit as "dirty",
> >and we try not to put new connections over a circuit that's been dirty
> >for "a while".  ("A while" is 30 seconds in 0.0.9 and 10 minutes in 0.1.0.)
> Sounds like a good idea, so when a circuit is dirty you avoid using all the 
> nodes in it or you just don't use it as a whole? 

No, only the circuit itself is expired.  If we avoided re-using the
nodes in later circuits, it would actually be *easier* to link those
circuits to each other because of the added information.

Nick Mathewson
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 652 bytes
Desc: not available
URL: <>

More information about the tor-dev mailing list