Just to answer my own question for any others.
I've played around with it a for a few days and it seems the intermediate ORs don't maintain windows, it's only the edge nodes, maintaining a circuit, and individual stream windows.
Hope someone can update the spec to be clearer on this to save others the effort. The offending sentence is:
*"The OP behaves identically, except that it must track a packaging window and a delivery window for every OR in the circuit."*
Best Gareth
On 1 July 2014 09:51, Gareth Owen gareth.owen@port.ac.uk wrote:
(sorry re-post - forgot subject)
Dear all
I'm working on a tor research project and am having difficulty understanding the SENDME cells. The tor spec acknowledges that it isn't particularly clear so I would welcome some clarification please.
The spec says that *all* nodes in a circuit maintain a send and receive window, and that this window is decremented on each RELAY_DATA and incremented on each SENDME. Cells that are neither of these do not affect the window size. The problem I have understanding is, that only edge nodes will know whether a cell is a RELAY_DATA, the intermediate nodes only know that its a RELAY but not what type. So, if only RELAY_DATA decrements the window size, and intermediate nodes cannot spot these, what point is there in intermediate nodes having a window?
Any help greatly appreciated.
Gareth
Dr Gareth Owen Senior Lecturer School of Computing, University of Portsmouth
W: ghowen.me