[JDEV] Heartbeat patch for dialup and laptop users and faulty presence info

tom_waters at mac.com tom_waters at mac.com
Wed May 29 20:58:27 CDT 2002


how does this work if you can't even be sure that the first server 
received the message from the client?

for example, what if the client's ethernet cable was unplugged... the 
client sends the message, the socket buffers the write, the client 
quits,... did the message get delivered?

         sent = send(socketfd, bytes, len, 0);

doesn't return -1 if the remote side hasn't "closed", if it's just the 
cable unplugged, you don't know whether the bits got there or not.

am i nuts?



On Wednesday, May 29, 2002, at 11:11  AM, Gallo, Felix S. wrote:
> Another poster couldn't figure out how to get guaranteed message
> delivery to work, but it's actually pretty simple:
>
> 1.  User sends guaranteed message, with checksum, retry count,
> and what-to-do-if-it-gets-stuck.
> 2.  Server receives message, verifies that it's OK.
> 3.  Server optionally passes it on to any intermediate servers,
> handshaking to make sure that the message is received before
> deleting it from local store.
> 4.  If the message is received successfully by the next server
> in the chain, the delivery responsibility passes to that next
> server, and the local server deletes it.
> 5.  If the message can't be passed to the intermediate server,
> the what-to-do-if-it-gets-stuck field is examined (possible
> values might include delete-with-notification, retry-for-a-certain-
> number-of-times, etc.)
> 6.  Upon receipt, you're done.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: text/enriched
Size: 1460 bytes
Desc: not available
URL: <https://www.jabber.org/jdev/attachments/20020529/1fe0a463/attachment-0002.bin>


More information about the JDev mailing list