From 27b345b965fac93d311923fb44f61bf4508d56a6 Mon Sep 17 00:00:00 2001 From: zzz <zzz@i2pmail.org> Date: Wed, 31 Aug 2022 08:02:02 -0400 Subject: [PATCH] Prop. 159: put location of immediate ack flag in immediate ack section --- i2p2www/spec/proposals/159-ssu2.rst | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/i2p2www/spec/proposals/159-ssu2.rst b/i2p2www/spec/proposals/159-ssu2.rst index 5ecc74b8c..8be341fcb 100644 --- a/i2p2www/spec/proposals/159-ssu2.rst +++ b/i2p2www/spec/proposals/159-ssu2.rst @@ -5,7 +5,7 @@ SSU2 :author: eyedeekay, orignal, zlatinb, zzz :created: 2021-09-12 :thread: http://zzz.i2p/topics/2612 - :lastupdated: 2022-08-30 + :lastupdated: 2022-08-31 :status: Open :target: 0.9.56 @@ -2804,12 +2804,13 @@ Packet Header All packets start with an obfuscated (encrypted) header. There are two header types, long and short. +Note that the first 13 bytes (Destination Connection ID, packet number, and type) +are the same for all headers. Long Header ````````````` The long header is 32 bytes. It is used before a session is created, for Token Request, SessionRequest, SessionCreated, and Retry. It is also used for out-of-session Peer Test and Hole Punch messages. -Note that the first 13 bytes (Destination Connection ID, packet number, and type) are the same for all headers. Before header encryption: @@ -6905,6 +6906,9 @@ The receiver does not know the sender's send window size, and so does not know how long to delay before sending an ACK. The immediate ACK flag in the data packet header is an important way to maintain maximum throughput by minimizing effective RTT. +The immediate ACK flag is header byte 13, bit 0, i.e. (header[13] & 0x01). +When set, an immediate ACK is requested. +See the short header section above for details. There are several possible strategies a sender may use to determine when to set the immediate-ack flag: -- GitLab