I tried to convert it to object-oriented (Delphi), Sender has been completed. Good
results, the performance did not decrease, the structure is more clear. Also deepened my
understanding of it! Thanks Alain!
------------------ Original ------------------
From: "Alain Knaff"<alain(a)knaff.lu>naff.lu>;
Date: 2010年4月24日(星期六) 晚上9:30
Subject: Re: [Udpcast] About Udpcast FLAG_SN
Why use FLAG_SN, do not DSC_REDUCING or DSC_REDUCING the slice of size?
FLAG_SN (--full-duplex) means that the network supports full duplex,
i.e. that acknowledgment data sent back from the receivers does not
disturb new data sent from the sender to the receiver. This is the case
with most networks today (when using a switch rather than a hub).
Updcast can take advantage of this by starting to send the next slice
before all acknowledgments of the previous one have been received.
DSC_REDUCING is used by the algorithm to find the optimal slice size.
This algorithm is only used on half-duplex networks, and works by
starting at a certain size, than keeping to add 25% slice size until
transmission errors start showing up, and then reducing until
transmission errors are gone. Such errors due to large slices can occur
under certain timing conditions on half-duplex networks, and thus this
algorithm is not needed in full duplex. Moreover, in full duplex mode,
the slice size has no impact on performance, as the next slice can be
transmitted right away, without needing to wait for the acknowledgments
of the previous once.