Expand description
Management for flow control windows.
Tor maintains a separate windows on circuits and on streams. These are controlled by SENDME cells, which (confusingly) are applied either at the circuit or the stream level depending on whether they have a stream ID set.
Circuit sendmes are authenticated: they include a cryptographic tag generated by the cryptography layer. This tag proves that the other side of the circuit really has read all of the data that it’s acknowledging.
Structs§
- Circ
Params 🔒 - Parameters used for SENDME windows on circuits: limit at 1000 cells, and each SENDME adjusts by 100.
- Recv
Window 🔒 - Structure to track when we need to send SENDME cells for incoming data.
- Send
Window 🔒 - Tracks how many cells we can safely send on a circuit or stream.
- Sendme
Validator 🔒 - Object used to validate SENDMEs as in managing the authenticated tag and verifying it.
- Stream
Params 🔒 - Parameters used for SENDME windows on streams: limit at 500 cells, and each SENDME adjusts by 50.
Traits§
- Window
Params 🔒 - Helper: parametrizes a window to determine its maximum and its increment.
Functions§
- cell_
counts_ 🔒towards_ windows - Return true if this message is counted by flow-control windows.
- cmd_
counts_ 🔒towards_ windows - Return true if this message type is counted by flow-control windows.
Type Aliases§
- Circ
Recv 🔒Window - A circuit’s receive window.
- Circ
Send 🔒Window - A circuit’s send window.
- Stream
Recv 🔒Window - A stream’s receive window.
- Stream
Send 🔒Window - A stream’s send window.