[tor-relays] dgoulet - Stockholm 2019 expense request

David Goulet dgoulet at torproject.org
Tue Apr 30 19:59:23 UTC 2019

On 30 Apr (12:06:31), marziyeh latifi wrote:
> Hello,
> I have two questions about SENDME cell in TOR:
> Is SENDME a Control cell or a Relay cell?

A SENDME cell is a control cell. See:


However, SENDME exists at the stream level which affects only a specific
stream within the circuit and thus their StreamID will be non zero which
explains the "sometimes" in the spec.

> Which node does  interpret  SENDME cells?The node that receives them or the
> edge node(client/exit)?

SENDMEs are always end-to-end so only the end points interpret them.

For example, when a client starts a download of a large file from an Exit
node, the Exit will send some data (up to what we call the circuit window
size) and wait for a SENDME cell _from_ the client to send more. In order
word, the client sends the SENDME towards the Exit to tell it "please send me
more data".

Now, if the client uploads data to the Exit, this is reverse where the Exit
will send a SENDME when it is ready to receive more data.

All this is managed by the package and delivery window maintained at each end
points. See Section 7 of torspec.txt for more details.


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: not available
URL: <http://lists.torproject.org/pipermail/tor-relays/attachments/20190430/9a4b081e/attachment.sig>

More information about the tor-relays mailing list