aboutsummaryrefslogtreecommitdiff
path: root/padding-spec.txt
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2022-05-23 15:07:06 -0400
committerNick Mathewson <nickm@torproject.org>2022-05-27 14:25:03 -0400
commit5536d29700d1bcea4b2652a3d7978a197b058a45 (patch)
treed8dc9f30935e54a03f199ab973cb117c72e92458 /padding-spec.txt
parent836a5fb964e288e8ff20e918abf19df353c245ac (diff)
downloadtorspec-5536d29700d1bcea4b2652a3d7978a197b058a45.tar.gz
torspec-5536d29700d1bcea4b2652a3d7978a197b058a45.zip
Padding spec: describe behavior with queues.
(Briefly: "Sent" is sometimes unobservable, so we should use "queued" as a reasonable proxy.)
Diffstat (limited to 'padding-spec.txt')
-rw-r--r--padding-spec.txt10
1 files changed, 10 insertions, 0 deletions
diff --git a/padding-spec.txt b/padding-spec.txt
index 471dd74..262e88f 100644
--- a/padding-spec.txt
+++ b/padding-spec.txt
@@ -180,6 +180,16 @@ Table of Contents
the event that it is idle in that direction, and will always transmit a
packet before the minimum 10 second inactive timeout.
+ (In practice, an implementation may not be able to determine when,
+ exactly, a cell is sent on a given channel. For example, even though the
+ cell has been given to the kernel via a call to `send(2)`, the kernel may
+ still be buffering that cell. In cases such as these, implementations
+ should use a reasonable proxy for the time at which a cell is sent: for
+ example, when the cell is queued. If this strategy is used,
+ implementations should try to observe the innermost (closest to the wire)
+ queue that the practically can, and if this queue is already nonempty,
+ padding should not be scheduled until after the queue does become empty.)
+
2.3. Padding Cell Timeout Distribution Statistics
To limit the amount of padding sent, instead of sampling each endpoint