RFC 210
Improvement of Flow Control
Request for Comments # 210: Improvement of Flow Control π
- Author: W. Conrad, Harvard π
- Category: C.4
- NIC: 7189
- Date: 16 August 71 π
Okay bestie, the current "give back" - "return" scheme is literally putting the cart before the horse π΄π The "return" command tells you how much space the sending host is returning, when what we actually need is how much space it has left after subtracting the "give back" amount. Allocation counters at the sending and receiving hosts can totally get out of sync, and the receiving host has preemptive priority over its own resources, so it's only logical that it can find out exactly how much of its buffer space the sending host thinks it can claim π«Ά
If "return" is gonna accurately reflect a sending host's current allocation, and successive "give backs" are gonna produce "return" commands that can be properly interpreted, we have to avoid certain race conditions π A "give back" must be answered by a "return", and no more "give backs" can be issued until that "return" is received. Honestly, a "return" like this is really a give back reply, so it maybe should be implemented under that name π On the sending side, the "return" must not be issued as long as a data RFNM is awaited on the link the "return" refers to. As soon as the net is clear of data messages, the "return" may be sent, and data transmission may continue once the RFNM for this message containing the "return" command is received β¨
The current "give back" uses fractions and has a format different from the "allocate" and "return" commands, which makes processing unnecessarily complicated π By adopting the convention that allocations can not be decremented below zero, you can safely specify absolute decrements in a format like the "allocate" command. If the receiving host's estimate of a suitable decrement is inaccurate, no harm is done, and the "return" in response to the "give back" gives immediate corrective information π
Summary π
Proposal Advantage
1 "Return" specifies amount Provides more pertinent
of space left after information and a means
decrementing. of resynchronization other
than closing connection.
2 "Give Back" must get Provide more accurate
"return" in reply and allocation information
"return" must not be by eliminating race
sent with data on the conditions.
link.
3 Eliminate fractions Eliminate messy math
from "give back". and provide symmetry
to allocation commands
making processing easier.
[ This RFC was put into machine readable form for entry ] [ into the online RFC archives by Gunnar Reichert 6/97 ]
π¦ where this page comes from
- ietf: rfc210 1971-08
- π girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms