Some cleanup in jabber keepalive on connection error.

cusax-fix
Damian Minkov 15 years ago
parent a2d0e4e4a6
commit 4e4bb59d22

@ -112,6 +112,7 @@ public void registrationStateChanged(RegistrationStateChangeEvent evt)
}
keepAliveSendTask = new KeepAliveSendTask();
waitingForPacketWithID = null;
keepAliveCheckInterval =
SmackConfiguration.getKeepAliveInterval();
@ -129,6 +130,8 @@ else if(evt.getNewState() == RegistrationState.UNREGISTERED
|| evt.getNewState() == RegistrationState.CONNECTION_FAILED
|| evt.getNewState() == RegistrationState.AUTHENTICATION_FAILED)
{
waitingForPacketWithID = null;
if(parentProvider.getConnection() != null)
parentProvider.getConnection().removePacketListener(this);
@ -216,19 +219,26 @@ public void run()
return;
}
// lets send a ping
KeepAliveEvent ping = new KeepAliveEvent(
parentProvider.getOurJID(),
parentProvider.getAccountID().getService()
);
waitingForPacketWithID = ping.getPacketID();
if (logger.isTraceEnabled())
logger.trace("send keepalive for acc: "
+ parentProvider.getAccountID().getDisplayName());
parentProvider.getConnection().sendPacket(ping);
try
{
// lets send a ping
KeepAliveEvent ping = new KeepAliveEvent(
parentProvider.getOurJID(),
parentProvider.getAccountID().getService()
);
if (logger.isTraceEnabled())
logger.trace("send keepalive for acc: "
+ parentProvider.getAccountID().getDisplayName());
waitingForPacketWithID = ping.getPacketID();
parentProvider.getConnection().sendPacket(ping);
}
catch(Throwable t)
{
logger.error("Error sending ping request!", t);
waitingForPacketWithID = null;
}
}
}
}

Loading…
Cancel
Save