

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 |
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.
| 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.
| 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.
| void com::cosylab::acs::maci::manager::PingTimerTask::clear_alarm | ( | String | faultMember | ) | [inline] |
Clear alarm.
| faultMember |
References clientInfo, com::cosylab::acs::maci::ClientInfo::getName(), com::cosylab::acs::maci::manager::ManagerImpl::hasActiveAlarm(), manager, and send_alarm().
Referenced by run().
| 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] |
Raise alarm.
| faultMember |
References clientInfo, com::cosylab::acs::maci::ClientInfo::getName(), com::cosylab::acs::maci::manager::ManagerImpl::hasActiveAlarm(), manager, and send_alarm().
Referenced by run().
| void com::cosylab::acs::maci::manager::PingTimerTask::run | ( | ) | [inline] |
References clear_alarm(), clientInfo, com::cosylab::acs::maci::ClientInfo::getClient(), com::cosylab::acs::maci::ClientInfo::getHandle(), com::cosylab::acs::maci::ClientInfo::getName(), logger, logout(), MAX_TRANSIENT_COUNT, com::cosylab::acs::maci::Client::ping(), raise_alarm(), and transientCount.
| void com::cosylab::acs::maci::manager::PingTimerTask::send_alarm | ( | String | faultMember, | |
| String | state | |||
| ) | [inline] |
Convenience method for send_alarm with given state.
| faultMember | ||
| state |
References com::cosylab::acs::maci::manager::ManagerImpl::alarmCleared(), com::cosylab::acs::maci::manager::ManagerImpl::alarmRaised(), alarmSource, FAULT_CODE, FAULT_FAMILY, manager, alma::alarmsystem::source::ACSAlarmSystemInterface::push(), alma::alarmsystem::source::ACSFaultState::setDescriptor(), and alma::alarmsystem::source::ACSFaultState::setUserTimestamp().
Referenced by clear_alarm(), and raise_alarm().
| String com::cosylab::acs::maci::manager::PingTimerTask::toString | ( | ) | [inline] |
Returns a single-line rendition of this instance into text.
References clientInfo, manager, and transientCount.
Alarm System Interface.
Referenced by send_alarm().
Monitored client's info.
Referenced by clear_alarm(), logout(), raise_alarm(), run(), and toString().
final int com::cosylab::acs::maci::manager::PingTimerTask::FAULT_CODE = 1 [static, protected] |
Referenced by send_alarm().
final String com::cosylab::acs::maci::manager::PingTimerTask::FAULT_FAMILY = "Manager" [static, protected] |
Referenced by send_alarm().
Logger com::cosylab::acs::maci::manager::PingTimerTask::logger [private] |
Logger.
Referenced by run().
Manager to which the client is logged in.
Referenced by clear_alarm(), logout(), raise_alarm(), send_alarm(), and toString().
final int com::cosylab::acs::maci::manager::PingTimerTask::MAX_TRANSIENT_COUNT = 3 [static, private] |
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().
1.6.2