No, because if the ACK doesn't reach the sending machine, the sender
will retry the data until it does get an ACK. So the sender always
has information about some amount of data which is guaranteed to have
arrived at the other end. The receiver might know about this sooner,
but that's simply a function of network latency.
The fundamental problem, if I understand right, is that some stacks
allow packets indicating closing of a connection (FIN) to arrive
before the actual data at the end of the connection does. The only
workaround I can think of for this is for the closing stack to wait
until all sent data has been ACKed before sending the FIN. The ACK
may, of course, never arrive, but that's what round-trip timeouts are
for.
-- -------------------------------------------------------------- from: Jonathan "Chromatix" Morton mail: chromi@cyberspace.org (not for attachments) website: http://www.chromatix.uklinux.net/vnc/ geekcode: GCS$/E dpu(!) s:- a20 C+++ UL++ P L+++ E W+ N- o? K? w--- O-- M++$ V? PS PE- Y+ PGP++ t- 5- X- R !tv b++ DI+++ D G e+ h+ r++ y+(*) tagline: The key to knowledge is not to rely on people to teach you it. - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/