Artur Hefczyc opened 1 decade ago
|
|
Applied in changeset commit:tigase-server|b681efcd. |
Type |
Bug
|
Priority |
Normal
|
Assignee | |
RedmineID |
2329
|
Spent time |
24h
|
Issue Votes (0)
Watchers (0)
The issue is described on forums: message#3191.
If XMPP ping is activated to be sent from the server instead of default whitespace ping this breaks watchdog for BoshConnectionManager. The main reason for this to happen is writePacketToSocket(Packet.) call. I think it is incorrect in general to call this method here, even for c2s or any other connections. Because we run the connection test for a specific service so the service should be a parameter to the method. Instead we should use here: writePacketToSocket(XMPPIOService, Packet).
However, for Bosh it would still not work because we cannot send raw XMPP packets over Bosh connections. On the other hand we do not have to worry about this because the watchdog concept does not apply to Bosh connections at all. So instead of figuring out how to send XMPP packets from watchdog over Bosh connections we should completely avoid sending XMPP ping from watchdog over Bosh connections.
Also getPingPacket(...) method is inefficient. A better way to create a ping packet would be to have a static Packet object and clone it each time we need a new Packet.
I do not remember who worked on the ping stuff here, so I am assigning it to you Wojtek. Please erasing if it was not you.