TAO 4.0.1
Loading...
Searching...
No Matches
Public Member Functions | List of all members
TAO_LF_Strategy Class Referenceabstract

Strategize Leader/Follower manipulations in the ORB event loop. More...

#include <LF_Strategy.h>

Inheritance diagram for TAO_LF_Strategy:
Inheritance graph
[legend]

Public Member Functions

virtual ~TAO_LF_Strategy ()
 Destructor.
 
virtual void set_upcall_thread (TAO_Leader_Follower &)=0
 The current thread will handle an upcall.
 
virtual int set_event_loop_thread (ACE_Time_Value *max_wait_time, TAO_Leader_Follower &)=0
 The current thread is entering the reactor event loop.
 
virtual void reset_event_loop_thread (int call_reset, TAO_Leader_Follower &)=0
 The current thread is leaving the event loop.
 

Detailed Description

Strategize Leader/Follower manipulations in the ORB event loop.

The ORB event loop must participate in the Leader/Followers protocol, but only if that concurrency model is configured, otherwise performance suffers.

This class strategizes the ORB behavior in this respect.

Constructor & Destructor Documentation

◆ ~TAO_LF_Strategy()

TAO_LF_Strategy::~TAO_LF_Strategy ( )
virtual

Destructor.

Member Function Documentation

◆ reset_event_loop_thread()

virtual void TAO_LF_Strategy::reset_event_loop_thread ( int call_reset,
TAO_Leader_Follower &  )
pure virtual

The current thread is leaving the event loop.

When the thread leaves the event loop a new leader must be elected.

Implemented in TAO_LF_Strategy_Complete.

◆ set_event_loop_thread()

virtual int TAO_LF_Strategy::set_event_loop_thread ( ACE_Time_Value * max_wait_time,
TAO_Leader_Follower &  )
pure virtual

The current thread is entering the reactor event loop.

Threads that block in the reactor event loop become "server" threads for the Leader/Follower set. They must be flagged specially because they do not wait for one specific event, but for any event whatsoever.

Implemented in TAO_LF_Strategy_Complete.

◆ set_upcall_thread()

virtual void TAO_LF_Strategy::set_upcall_thread ( TAO_Leader_Follower & )
pure virtual

The current thread will handle an upcall.

Threads that handle requests can block for long periods of time, causing deadlocks if they don't elect a new leader before starting the upcall the system can become non-responsive or dead-lock.

Implemented in TAO_LF_Strategy_Complete.


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