TAO_Implementation_Repository 4.0.3
Loading...
Searching...
No Matches
Public Member Functions | Private Types | Private Member Functions | Private Attributes | Friends | List of all members
LiveCheck Class Reference

#include <LiveCheck.h>

Inheritance diagram for LiveCheck:
Inheritance graph
[legend]
Collaboration diagram for LiveCheck:
Collaboration graph
[legend]

Public Member Functions

 LiveCheck ()
 
 ~LiveCheck ()
 
void init (CORBA::ORB_ptr orb, const ACE_Time_Value &interval)
 
void shutdown ()
 
int handle_timeout (const ACE_Time_Value &current_time, const void *act=0)
 
bool has_server (const char *server)
 
void add_server (const char *server, bool may_ping, ImplementationRepository::ServerObject_ptr ref, int pid)
 
void set_pid (const char *server, int pid)
 
void remove_server (const char *server, int pid)
 
bool remove_per_client_entry (LiveEntry *entry)
 
bool add_listener (LiveListener *listener)
 
bool add_poll_listener (LiveListener *listener)
 
bool add_per_client_listener (LiveListener *listener, ImplementationRepository::ServerObject_ptr ref)
 
void remove_listener (LiveListener *listener)
 
bool schedule_ping (LiveEntry *entry)
 
LiveStatus is_alive (const char *server)
 
const ACE_Time_Valueping_interval () const
 
- Public Member Functions inherited from ACE_Event_Handler
virtual ~ACE_Event_Handler ()=default
 
virtual ACE_HANDLE get_handle () const
 
virtual void set_handle (ACE_HANDLE)
 
virtual int priority () const
 
virtual void priority (int priority)
 
virtual int handle_input (ACE_HANDLE fd=ACE_INVALID_HANDLE)
 
virtual int handle_output (ACE_HANDLE fd=ACE_INVALID_HANDLE)
 
virtual int handle_exception (ACE_HANDLE fd=ACE_INVALID_HANDLE)
 
virtual int handle_exit (ACE_Process *)
 
virtual int handle_close (ACE_HANDLE handle, ACE_Reactor_Mask close_mask)
 
virtual int handle_signal (int signum, siginfo_t *=0, ucontext_t *=0)
 
virtual int resume_handler ()
 
virtual int handle_qos (ACE_HANDLE=ACE_INVALID_HANDLE)
 
virtual int handle_group_qos (ACE_HANDLE=ACE_INVALID_HANDLE)
 
virtual void reactor (ACE_Reactor *reactor)
 
virtual ACE_Reactorreactor () const
 
virtual ACE_Reactor_Timer_Interfacereactor_timer_interface () const
 
virtual Reference_Count add_reference ()
 
virtual Reference_Count remove_reference ()
 
Reference_Counting_Policyreference_counting_policy ()
 

Private Types

typedef ACE_Hash_Map_Manager_Ex< ACE_CString, LiveEntry *, ACE_Hash< ACE_CString >, ACE_Equal_To< ACE_CString >, ACE_Null_MutexLiveEntryMap
 
typedef ACE_Unbounded_Set< LiveEntry * > PerClientStack
 
typedef std::pair< ACE_CString, int > NamePidPair
 
typedef ACE_Unbounded_Set< NamePidPairNamePidStack
 

Private Member Functions

void enter_handle_timeout ()
 
void exit_handle_timeout ()
 
bool in_handle_timeout ()
 
void remove_deferred_servers ()
 

Private Attributes

LiveEntryMap entry_map_
 
PerClientStack per_client_
 
PortableServer::POA_var poa_
 
ACE_Time_Value ping_interval_
 
bool running_
 
LC_token_type token_
 
int handle_timeout_busy_
 
bool want_timeout_
 
ACE_Time_Value deferred_timeout_
 
NamePidStack removed_entries_
 

Friends

class LC_TimeoutGuard
 

Additional Inherited Members

- Public Types inherited from ACE_Event_Handler
typedef long Reference_Count
 
- Static Public Member Functions inherited from ACE_Event_Handler
static ACE_THR_FUNC_RETURN read_adapter (void *event_handler)
 
static int register_stdin_handler (ACE_Event_Handler *eh, ACE_Reactor *reactor, ACE_Thread_Manager *thr_mgr, int flags=THR_DETACHED)
 
static int remove_stdin_handler (ACE_Reactor *reactor, ACE_Thread_Manager *thr_mgr)
 
- Public Attributes inherited from ACE_Event_Handler
 LO_PRIORITY
 
 HI_PRIORITY
 
 NULL_MASK
 
 READ_MASK
 
 WRITE_MASK
 
 EXCEPT_MASK
 
 ACCEPT_MASK
 
 CONNECT_MASK
 
 TIMER_MASK
 
 QOS_MASK
 
 GROUP_QOS_MASK
 
 SIGNAL_MASK
 
 ALL_EVENTS_MASK
 
 RWE_MASK
 
 DONT_CALL
 
 ACE_EVENT_HANDLER_NOT_RESUMED
 
 ACE_REACTOR_RESUMES_HANDLER
 
 ACE_APPLICATION_RESUMES_HANDLER
 
- Protected Types inherited from ACE_Event_Handler
typedef std::atomic< Reference_CountAtomic_Reference_Count
 
- Protected Member Functions inherited from ACE_Event_Handler
 ACE_Event_Handler (ACE_Reactor *=nullptr, int priority=ACE_Event_Handler::LO_PRIORITY)
 
- Protected Attributes inherited from ACE_Event_Handler
Atomic_Reference_Count reference_count_
 

Member Typedef Documentation

◆ LiveEntryMap

◆ NamePidPair

typedef std::pair<ACE_CString, int> LiveCheck::NamePidPair
private

◆ NamePidStack

◆ PerClientStack

Constructor & Destructor Documentation

◆ LiveCheck()

LiveCheck::LiveCheck ( )

◆ ~LiveCheck()

LiveCheck::~LiveCheck ( )

Member Function Documentation

◆ add_listener()

bool LiveCheck::add_listener ( LiveListener * listener)

◆ add_per_client_listener()

bool LiveCheck::add_per_client_listener ( LiveListener * listener,
ImplementationRepository::ServerObject_ptr ref )

◆ add_poll_listener()

bool LiveCheck::add_poll_listener ( LiveListener * listener)

◆ add_server()

void LiveCheck::add_server ( const char * server,
bool may_ping,
ImplementationRepository::ServerObject_ptr ref,
int pid )

◆ enter_handle_timeout()

void LiveCheck::enter_handle_timeout ( )
private

◆ exit_handle_timeout()

void LiveCheck::exit_handle_timeout ( )
private

◆ handle_timeout()

int LiveCheck::handle_timeout ( const ACE_Time_Value & current_time,
const void * act = 0 )
virtual

Reimplemented from ACE_Event_Handler.

◆ has_server()

bool LiveCheck::has_server ( const char * server)

◆ in_handle_timeout()

bool LiveCheck::in_handle_timeout ( )
private

◆ init()

void LiveCheck::init ( CORBA::ORB_ptr orb,
const ACE_Time_Value & interval )

◆ is_alive()

LiveStatus LiveCheck::is_alive ( const char * server)

◆ ping_interval()

const ACE_Time_Value & LiveCheck::ping_interval ( ) const

◆ remove_deferred_servers()

void LiveCheck::remove_deferred_servers ( )
private

◆ remove_listener()

void LiveCheck::remove_listener ( LiveListener * listener)

◆ remove_per_client_entry()

bool LiveCheck::remove_per_client_entry ( LiveEntry * entry)

◆ remove_server()

void LiveCheck::remove_server ( const char * server,
int pid )

◆ schedule_ping()

bool LiveCheck::schedule_ping ( LiveEntry * entry)

◆ set_pid()

void LiveCheck::set_pid ( const char * server,
int pid )

◆ shutdown()

void LiveCheck::shutdown ( )

Friends And Related Symbol Documentation

◆ LC_TimeoutGuard

friend class LC_TimeoutGuard
friend

Member Data Documentation

◆ deferred_timeout_

ACE_Time_Value LiveCheck::deferred_timeout_
private

◆ entry_map_

LiveEntryMap LiveCheck::entry_map_
private

◆ handle_timeout_busy_

int LiveCheck::handle_timeout_busy_
private

Flag to check whether we are in handle timeout. Because this can be called re-entrant it is zero when we are not in handle timeout

◆ per_client_

PerClientStack LiveCheck::per_client_
private

◆ ping_interval_

ACE_Time_Value LiveCheck::ping_interval_
private

◆ poa_

PortableServer::POA_var LiveCheck::poa_
private

◆ removed_entries_

NamePidStack LiveCheck::removed_entries_
private

Contains a list of servers which got removed during the handle_timeout, these will be removed at the end of the handle_timeout.

◆ running_

bool LiveCheck::running_
private

◆ token_

LC_token_type LiveCheck::token_
private

◆ want_timeout_

bool LiveCheck::want_timeout_
private

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