David, I had originally thought that, but was having difficulty parsing through the jabberd code, plus I figured an external component would be a configurable tool that I could publish back somewhere, if it worked. Regardless, your message gave me inspiration to parse through more code and once I found the right place - pthsock/client.c - it was incredibly easy to add just that in. I've added it in as a configurable option and am pretty sure that with just a little more work I can even have it skip heartbeats when there has been recent activity on the socket (saving bandwidth and resources). Once I have a chance to set up a test server and run it for a while to prove the point, I'll submit a patch back here. So the questions become: 1) How different is the 1.5 code? (don't answer that, I can take a look later myself ) 2) What does it take to get my patch into the main distribution?
Anyhow, thanks for the thoughts! Nathan (aka tinman on [EMAIL PROTECTED]) David Waite wrote: > I would recommend a heartbeat which instead does what clients have > done for a while - sends a whitespace character in-between XML > packets. You would need to modify the client connection piece to do > this (c2s/jadc2s/jpoll/dpsm/whatever); but it would be significantly > less intrusive to a client than a separate component sending new XML > elements. Rather than having the clients reply to this message, their > TCP/IP stack will just ACK the new packet. Failure will result in the > stack of the server recognising the socket as dead, which will be > treated just like a (clean) disconnect is now. > > -David Waite > _______________________________________________ jdev mailing list [EMAIL PROTECTED] http://mailman.jabber.org/listinfo/jdev
