Saros
Distributed Collaborative Editing and Distributed Party Programming
|
Public Member Functions | |
void | start () |
void | stop () |
Protected Member Functions | |
SessionTimeoutHandler (ISarosSession session, ISarosSessionManager sessionManager, ActivitySequencer sequencer, ITransmitter transmitter, IReceiver receiver) | |
final void | handleNetworkError (final JID jid, final String reason) |
Protected Attributes | |
final ISarosSession | session |
final ISarosSessionManager | sessionManager |
final ITransmitter | transmitter |
final IReceiver | receiver |
final String | currentSessionID |
Static Protected Attributes | |
static final long | TIMEOUT = 10000L |
static final long | PING_PONG_TIMEOUT |
static final long | PING_PONG_UPDATE_DELAY |
Abstract base class that is already capable of detecting and handling network errors occurred in the ActivitySequencer component.
de.fu_berlin.inf.dpp.project.internal.timeout.SessionTimeoutHandler.SessionTimeoutHandler | ( | ISarosSession | session, |
ISarosSessionManager | sessionManager, | ||
ActivitySequencer | sequencer, | ||
ITransmitter | transmitter, | ||
IReceiver | receiver | ||
) | [protected] |
final void de.fu_berlin.inf.dpp.project.internal.timeout.SessionTimeoutHandler.handleNetworkError | ( | final JID | jid, |
final String | reason | ||
) | [protected] |
Handles a network error by either stopping the session or removing the user from the session depending on the state of the local user. This method returns immediately and performs its work in the background.
jid | the JID} of the user |
reason | a reason why a network error occurred |
void de.fu_berlin.inf.dpp.project.internal.timeout.SessionTimeoutHandler.start | ( | ) |
void de.fu_berlin.inf.dpp.project.internal.timeout.SessionTimeoutHandler.stop | ( | ) |
final String de.fu_berlin.inf.dpp.project.internal.timeout.SessionTimeoutHandler.currentSessionID [protected] |
Current id of the session.
final long de.fu_berlin.inf.dpp.project.internal.timeout.SessionTimeoutHandler.PING_PONG_TIMEOUT [static, protected] |
Long.getLong(
"de.fu_berlin.inf.dpp.session.timeout.PING_PONG_TIMEOUT",
60L * 1000L * 5L)
Total timeout in milliseconds to remove a user(host) or stop the session(client) if no ping or pong packet is received.
final long de.fu_berlin.inf.dpp.project.internal.timeout.SessionTimeoutHandler.PING_PONG_UPDATE_DELAY [static, protected] |
Long.getLong(
"de.fu_berlin.inf.dpp.session.timeout.PING_PONG_UPDATE_DELAY", 30000L)
Update interval for sending and / or checking the status of ping and pong packets.
final IReceiver de.fu_berlin.inf.dpp.project.internal.timeout.SessionTimeoutHandler.receiver [protected] |
final ISarosSession de.fu_berlin.inf.dpp.project.internal.timeout.SessionTimeoutHandler.session [protected] |
Current session the component is run with.
final ISarosSessionManager de.fu_berlin.inf.dpp.project.internal.timeout.SessionTimeoutHandler.sessionManager [protected] |
final long de.fu_berlin.inf.dpp.project.internal.timeout.SessionTimeoutHandler.TIMEOUT = 10000L [static, protected] |
Join timeout when stopping this component