com::cosylab::acs::maci::manager::PingTimerTask Class Reference

Inheritance diagram for com::cosylab::acs::maci::manager::PingTimerTask:
Inheritance graph
[legend]
Collaboration diagram for com::cosylab::acs::maci::manager::PingTimerTask:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 PingTimerTask (ManagerImpl manager, Logger logger, ClientInfo clientInfo, ACSAlarmSystemInterface alarmSource)
void run ()
String toString ()
void raise_alarm (String faultMember)
void clear_alarm (String faultMember)
void send_alarm (String faultMember, String state)

Static Protected Attributes

static final String FAULT_FAMILY = "Manager"
static final int FAULT_CODE = 1

Private Member Functions

void logout ()

Private Attributes

int transientCount
ManagerImpl manager
ClientInfo clientInfo
Logger logger
ACSAlarmSystemInterface alarmSource

Static Private Attributes

static final int MAX_TRANSIENT_COUNT = 3

Detailed Description

Implementation of ping task executed by java.util.Timer</class>.

Manager pings its clients (both GUI clients, as well as Containers) repeatedly to verify that they still exist. The return value of Client::ping() can be either "true", indicating that everything is OK with the client, or "false", indicating that client is malfunctioning.

If RemoteTransientException or RemoteTimeoutException exception is thrown, the Manager should retry the ping several times, and only then shall the client be assumed to be malfunctioning. If another exception is thrown, the client may be immediately assumed to be malfunctioning. Once the client is found to be malfunctioning, the Manager makes an implicit logout of the client.

Author:
Matej Sekoranja (matej.sekoranja@cosylab.com)
Version:
@VERSION@


Constructor & Destructor Documentation

com::cosylab::acs::maci::manager::PingTimerTask::PingTimerTask ( ManagerImpl  manager,
Logger  logger,
ClientInfo  clientInfo,
ACSAlarmSystemInterface  alarmSource 
) [inline]

Constructs a ping task which monitors client's state.

Parameters:
manager manager to which the client is logged in
logger logger.
clientInfo info of the client to be monitored
alarmSource interface to send alarms
activeAlarm set of active alarms

References transientCount.


Member Function Documentation

void com::cosylab::acs::maci::manager::PingTimerTask::clear_alarm ( String  faultMember  )  [inline]
void com::cosylab::acs::maci::manager::PingTimerTask::logout (  )  [inline, private]

Terminates this task and logs the client out.

References clientInfo, com::cosylab::acs::maci::ClientInfo::getHandle(), com::cosylab::acs::maci::manager::ManagerImpl::logout(), and manager.

Referenced by run().

void com::cosylab::acs::maci::manager::PingTimerTask::raise_alarm ( String  faultMember  )  [inline]
void com::cosylab::acs::maci::manager::PingTimerTask::run (  )  [inline]
void com::cosylab::acs::maci::manager::PingTimerTask::send_alarm ( String  faultMember,
String  state 
) [inline]
String com::cosylab::acs::maci::manager::PingTimerTask::toString (  )  [inline]

Returns a single-line rendition of this instance into text.

Returns:
internal state of this instance

References clientInfo, manager, and transientCount.


Member Data Documentation

Alarm System Interface.

Referenced by send_alarm().

Monitored client's info.

Referenced by clear_alarm(), logout(), raise_alarm(), run(), and toString().

Referenced by send_alarm().

final String com::cosylab::acs::maci::manager::PingTimerTask::FAULT_FAMILY = "Manager" [static, protected]

Referenced by send_alarm().

Logger.

Referenced by run().

Manager to which the client is logged in.

Referenced by clear_alarm(), logout(), raise_alarm(), send_alarm(), and toString().

Maximum number of consequential code>RemoteTransientException exception catches logging the client out.

Referenced by run().

Counter for consequential RemoteTransientException exception catches to Client::ping method.

Referenced by PingTimerTask(), run(), and toString().


The documentation for this class was generated from the following file:

Generated by  doxygen 1.6.2