aboutsummaryrefslogtreecommitdiff
path: root/spec/tor-spec/flow-control.md
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2023-10-13 18:00:42 -0400
committerNick Mathewson <nickm@torproject.org>2023-10-13 18:00:42 -0400
commitf79272ef1f774b3788b74a3fe4fef75095dfae06 (patch)
tree8f47bebaa06c444f632bf8c4afbd793c4972a27d /spec/tor-spec/flow-control.md
parentfa014ec90411fd754dd257d04afa1a953e15bf31 (diff)
downloadtorspec-f79272ef1f774b3788b74a3fe4fef75095dfae06.tar.gz
torspec-f79272ef1f774b3788b74a3fe4fef75095dfae06.zip
Run markdownlint --fix on spec.
Diffstat (limited to 'spec/tor-spec/flow-control.md')
-rw-r--r--spec/tor-spec/flow-control.md7
1 files changed, 6 insertions, 1 deletions
diff --git a/spec/tor-spec/flow-control.md b/spec/tor-spec/flow-control.md
index 4bd8910..960bd21 100644
--- a/spec/tor-spec/flow-control.md
+++ b/spec/tor-spec/flow-control.md
@@ -1,7 +1,9 @@
<a id="tor-spec.txt-7"></a>
+
# Flow control
<a id="tor-spec.txt-7.1"></a>
+
## Link throttling
Each client or relay should do appropriate bandwidth throttling to
@@ -25,6 +27,7 @@ to reads and writes for connections that are serving directory
information. See proposal 111 for details.
<a id="tor-spec.txt-7.2"></a>
+
## Link padding
Link padding can be created by sending PADDING or VPADDING cells
@@ -60,6 +63,7 @@ zero (to avoid client distinguishability) and ignored by the recipient.
For more details on padding behavior, see padding-spec.txt.
<a id="tor-spec.txt-7.3"></a>
+
## Circuit-level flow control
To control a circuit's bandwidth usage, each OR keeps track of two
@@ -111,6 +115,7 @@ RELAY_DATA cell within one increment window. In other word, every 100 cells
(increment), random bytes should be introduced in at least one cell.
<a id="tor-spec.txt-7.3.1"></a>
+
### SENDME Cell Format
A circuit-level RELAY_SENDME cell always has its StreamID=0.
@@ -163,6 +168,7 @@ If the VERSION is unrecognized or below the minimum accepted version (taken
from the consensus), the circuit should be torn down.
<a id="tor-spec.txt-7.4"></a>
+
## Stream-level flow control
Edge nodes use RELAY_SENDME cells to implement end-to-end flow
@@ -175,4 +181,3 @@ ten cell payloads remaining to be flushed at that edge.
Stream-level RELAY_SENDME cells are distinguished by having nonzero
StreamID. They are still empty; the body still SHOULD be ignored.
-