[tor-dev] Proposal 213: Remove stream-level sendmes from the design

Andreas Krey a.krey at gmx.de
Mon Nov 5 05:57:48 UTC 2012

On Sun, 04 Nov 2012 18:31:51 +0000, Roger Dingledine wrote:
>   The circuit-level flow control, or something like it, is needed
>   because different users are competing for the same resources. But the
>   stream-level flow control has a different threat model, since all the
>   streams belong to the same user.

But still separate flow control is in the expectation of the, erm,
this user.  When I have to ssh open via tor to the same host, they take
the same circuit. And I don't expect the other session to block just
because I ^S-ed (stopped the output of) the first session.

>   It could be that a feature of the stream window is that there's always
>   space in the circuit window for another begin cell, so new streams
>   will open faster than otherwise.

Or at all. With no per-stream window a single stalled stream would
block the circuit forever. Besides the ssh scenario think 'large
put/post request and server hiccuping' - a twitpic post not working
out does not make me expect that another browser tab to a differnt
host, but same circuit, will block.

>   But first, if there are two or more
>   active streams going, there won't be any extra space.

When a stream announces window to the other side I expect it
to be capable to accept that data somewhere, so even if the
stream windows currently overbook the circuit window that
data should drain into the local buffers and let the circuit
window reopen.


"Totally trivial. Famous last words."
From: Linus Torvalds <torvalds@*.org>
Date: Fri, 22 Jan 2010 07:29:21 -0800

More information about the tor-dev mailing list