|
|
|
|
@ -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;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|