On Wed, Nov 01, 2006 at 08:42:08PM +0000, Dave Cridland wrote: > On Wed Nov 1 17:07:11 2006, Michal 'vorner' Vaner wrote: > >On Wed, Nov 01, 2006 at 06:07:39PM +0100, Tobias Markmann wrote: > >> Isn't that a TCP problem since that can happen to any protocol > >which is > >> based to TCP? > > > >Well, it is partly implementation problem, many OSes (as I heard) > >are > >able to tell you how much was already delivered and if you remember > >what > >part of data was what stanza, you can resend it after reconnection. > > > >But that is bit more work, of course, and alot more data. > > No OS can tell you what's been delivered, but some might be able to > tell you what hasn't been sent, and what hasn't been acknowledged.
Yes, but from that, you can deduce what _was_ acknowledged. And if you loose TCP ack, TCP will take care of it. If you loose datal-level ack, TCP will take care of it the same, there is no difference. > I > looked for how to do this on Linux, which usually provides the > richest API to the network layer, but I couldn't find anything to > tell me either. I guess it is not much used and documented, I just heard it exists. > But this isn't quite the same thing anyway - you want to know what > stanzas have been accepted - what happens if the ACKs get lost, or > the server dies? If they get lost, they will arrive later. If the server dies, same is if it did not have enough time to send the data-level one, no? But anyway, I just said it can be done, but I also said it would be difficult and wouldn't be the best thing anyway, I think. > <snip/> -- BOFH Excuse #452: Somebody ran the operating system through a spelling checker. Michal 'vorner' Vaner
pgpMnJLtagDyt.pgp
Description: PGP signature