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

Andreas Krey a.krey at gmx.de
Tue Nov 6 13:41:38 UTC 2012

On Tue, 06 Nov 2012 11:51:10 +0000, Julian Yon wrote:
> On Tue, 6 Nov 2012 01:06:56 -0500
> Roger Dingledine <arma at mit.edu> wrote:
> > If we ripped out stream-level sendmes, then as you say, we'd have to
> > choose between "queue all the data for the stream, no matter how big
> > it gets" and "tell the whole circuit to shut up".

I had a third one - which isn't quite practical: Just kill that stream. :-)

> A possible compromise: A stream level XOFF/XON instead of SENDME would
> allow us to save the flow control bandwidth for properly flowing
> streams and still have a way to deal with stalled ones.

In another protocol I tended to piggyback the SENDME equivalent
onto the data frames of the other direction, but here there is
typically no data flowing in the other direction when you need
to SENDME: Big downloads.

Another idea: Put the stream-level SENDMEs into the circuit-level
ones. As far as I can see there should be sufficient space to
do so, even for several streams at once. At that point, we could
also change the SENDME to include a specific number of cells
to additionally allow on each level, instead of the fixed 100/50.


"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