directory-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
Subject RE: [Mina] 'messageSent' semantic
Date Thu, 12 Jan 2006 18:08:20 GMT
Quoting Jose Alberto Fernandez <>:

>> From: []
>> Thanks for clarifications.
>> On the other hand, TCP knows that packet is delivered or not.
> Not true. TCP knows if a packet was delivered. It does not know if a
> packet was not delivered. The best it can do is resubmit the packet if
> the ack fails to arrive within specific timeout. But if the packet is
> sent, and I cut the line just after the packet goes there is no way for
> TCP to know if that packet arrived and was processed by the high level
> application or not, as there is no way for the ack to arrive.

OK, I think I get it. If an ACK is received, the packet has been delivered. If
no ACK is received, the packet may have been delivered or not.

But remember my first e-mail. I want to know that messages have been 

So, at TCP level, it is (would be) possible.

At socket-level, it is another thing.

>> And it seems socket API does not do anything with this info (no
> exception)
> The socket does not have this info, in general. Socket gives you a
> virtual communication channel just like your phone gives you one when
> you make a call. But there is no guarantee that the line will not fail
> and you will loose contact.
>> This mandates application acknowledge if you really want to be sure
>> messages
>> have been delivered. In this case, why does bring TCP over UDP? Only
>> ordering?
> Try to implement all the guarantees of TCP/IP on your own, with all the
> cases, and then let us know if you want to do this over and over on
> every application you write.

Don't take me wrong me. I don't discuss TCP relevance. I am just trying to
improve my understanding of it by discussing with specialists.

BTW, thanks to everybody for your input,


View raw message