#include <maciHeartbeatController.h>
Public Member Functions | |
HeartbeatController (maci::Manager_ptr manager) | |
~HeartbeatController () | |
int | start (CORBA::ORB_ptr orb, CORBA::ULong invocationTimeout) |
int | stop () |
int | registerClient (maci::Handle handle, maci::Client_ptr client) |
int | deregisterClient (maci::Handle handle) |
maci::Manager_ptr | getManager () |
Private Types | |
typedef ACE_Timer_Heap_T< ACE_Event_Handler *, ACE_Event_Handler_Handle_Timeout_Upcall< ACE_SYNCH_RECURSIVE_MUTEX >, ACE_SYNCH_RECURSIVE_MUTEX > | HB_TIMER_QUEUE |
Trait for the queue type. | |
typedef ACE_Timer_Heap_Iterator_T< ACE_Event_Handler *, ACE_Event_Handler_Handle_Timeout_Upcall< ACE_SYNCH_RECURSIVE_MUTEX >, ACE_SYNCH_RECURSIVE_MUTEX > | HB_TIMER_QUEUE_ITERATOR |
Trait for the queue iterator type. | |
typedef ACE_Thread_Timer_Queue_Adapter< HB_TIMER_QUEUE > | HB_TIMER_THREAD |
typedef ACE_Hash_Map_Manager< maci::Handle, long, ACE_Recursive_Thread_Mutex > | HB_HASH_MAP |
Trait for the hash map type. | |
typedef ACE_Hash_Map_Iterator< maci::Handle, long, ACE_Recursive_Thread_Mutex > | HB_HASH_MAP_ITER |
Trait for the hash map iterator type. | |
typedef ACE_Hash_Map_Entry< maci::Handle, long > | HB_HASH_MAP_ENTRY |
Trait for the hash map entry type. | |
Private Member Functions | |
int | removeClient (maci::Handle handle) |
Private Attributes | |
maci::Manager_var | m_manager |
Manager's reference. | |
HB_TIMER_THREAD | m_timerThread |
Timer thread. | |
HB_HASH_MAP | m_clients |
Clients' repository. | |
bool | m_deactivated |
false
, it invokes maci::Manager::logout() method of the client.Manager pings its clients (both GUI clients, as well as containers) repeatedly to verify that they still exist. The return value can be either "true", indicating that everything is OK with the client, of "false", indicating that client is malfunctioning. If CORBA::TRANSIENT 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.
|
Trait for the hash map type.
|
|
Trait for the hash map entry type.
|
|
Trait for the hash map iterator type.
|
|
Trait for the queue type.
|
|
Trait for the queue iterator type.
|
|
|
|
Constructor. |
|
Destrcutor. |
|
Deregisters client to the heartbeat controller.
|
|
Returns Manager's reference.
|
|
Registers client to the heartbeat controller.
|
|
Removes client from hash table.
|
|
Starts controller.
|
|
Stops controller.
|
|
Clients' repository.
|
|
|
|
Manager's reference.
|
|
Timer thread.
|