TAO 3.1.4
Loading...
Searching...
No Matches
Classes | Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
TAO_LF_Multi_Event Class Reference

Use the Leader/Follower loop to wait for one specific event in the invocation path. More...

#include <LF_Multi_Event.h>

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

Classes

struct  Event_Node
 

Public Member Functions

 TAO_LF_Multi_Event ()
 Constructor.
 
virtual ~TAO_LF_Multi_Event ()
 Destructor.
 
virtual int bind (TAO_LF_Follower *follower)
 Propagate the follower to all the events in the collection.
 
virtual int unbind (TAO_LF_Follower *follower)
 Unbind the follower from all the collected events.
 
void add_event (TAO_Connection_Handler *ch)
 Adds a handler to the collection.
 
TAO_Connection_Handlerwinner ()
 
TAO_Transportbase_transport ()
 Returns the transport associated with the first entry in the collection.
 
- Public Member Functions inherited from TAO_LF_Event
 TAO_LF_Event ()
 Constructor.
 
virtual ~TAO_LF_Event ()
 Destructor.
 
void state_changed (LFS_STATE new_state, TAO_Leader_Follower &lf)
 
bool successful (TAO_Leader_Follower &lf) const
 
bool error_detected (TAO_Leader_Follower &lf) const
 
bool keep_waiting (TAO_Leader_Follower &lf) const
 Check if we should keep waiting.
 
void reset_state (LFS_STATE new_state)
 Reset the state, irrespective of the previous states.
 

Protected Member Functions

virtual void state_changed_i (LFS_STATE new_state)
 Validate the state change.
 
virtual bool is_state_final () const
 Check whether we have reached the final state..
 
virtual bool successful_i () const
 
virtual bool error_detected_i () const
 
- Protected Member Functions inherited from TAO_LF_Event
bool keep_waiting_i () const
 Check if we should keep waiting.
 

Private Member Functions

void operator= (const TAO_LF_Multi_Event &)
 
 TAO_LF_Multi_Event (const TAO_LF_Multi_Event &)
 

Private Attributes

struct Event_Nodeevents_
 
TAO_Connection_Handlerwinner_
 

Additional Inherited Members

- Public Types inherited from TAO_LF_Event
enum  LFS_STATE {
  LFS_IDLE = 0 , LFS_ACTIVE , LFS_CONNECTION_WAIT , LFS_SUCCESS ,
  LFS_FAILURE , LFS_TIMEOUT , LFS_CONNECTION_CLOSED
}
 The current state. More...
 
- Static Public Member Functions inherited from TAO_LF_Event
static const char * state_name (LFS_STATE st)
 The current state.
 
- Protected Attributes inherited from TAO_LF_Event
LFS_STATE state_
 The current state.
 
TAO_LF_Followerfollower_
 The bounded follower.
 

Detailed Description

Use the Leader/Follower loop to wait for one specific event in the invocation path.

Used by the parallel connection strategy for waiting on one of many connections.

Constructor & Destructor Documentation

◆ TAO_LF_Multi_Event() [1/2]

TAO_LF_Multi_Event::TAO_LF_Multi_Event ( )

Constructor.

◆ ~TAO_LF_Multi_Event()

TAO_LF_Multi_Event::~TAO_LF_Multi_Event ( )
virtual

Destructor.

◆ TAO_LF_Multi_Event() [2/2]

TAO_LF_Multi_Event::TAO_LF_Multi_Event ( const TAO_LF_Multi_Event & )
private

Member Function Documentation

◆ add_event()

void TAO_LF_Multi_Event::add_event ( TAO_Connection_Handler * ch)

Adds a handler to the collection.

◆ base_transport()

TAO_Transport * TAO_LF_Multi_Event::base_transport ( )

Returns the transport associated with the first entry in the collection.

◆ bind()

int TAO_LF_Multi_Event::bind ( TAO_LF_Follower * follower)
virtual

Propagate the follower to all the events in the collection.

Reimplemented from TAO_LF_Event.

◆ error_detected_i()

bool TAO_LF_Multi_Event::error_detected_i ( ) const
protectedvirtual

Return true if an error was detected while waiting for the event - This iterates over the list of events and returns true only if all of them return true from error_detected().

Implements TAO_LF_Event.

◆ is_state_final()

bool TAO_LF_Multi_Event::is_state_final ( ) const
protectedvirtual

Check whether we have reached the final state..

Implements TAO_LF_Event.

◆ operator=()

void TAO_LF_Multi_Event::operator= ( const TAO_LF_Multi_Event & )
private

◆ state_changed_i()

void TAO_LF_Multi_Event::state_changed_i ( LFS_STATE new_state)
protectedvirtual

Validate the state change.

Implements TAO_LF_Event.

◆ successful_i()

bool TAO_LF_Multi_Event::successful_i ( ) const
protectedvirtual

Return true if the condition was satisfied successfully, false if it has not - This iterates over the list of attached events and returns true if any of them return true from successful.

Implements TAO_LF_Event.

◆ unbind()

int TAO_LF_Multi_Event::unbind ( TAO_LF_Follower * follower)
virtual

Unbind the follower from all the collected events.

Reimplemented from TAO_LF_Event.

◆ winner()

TAO_Connection_Handler * TAO_LF_Multi_Event::winner ( )

Returns the connection handler that caused the successful status to be returned.

Member Data Documentation

◆ events_

struct Event_Node* TAO_LF_Multi_Event::events_
private

◆ winner_

TAO_Connection_Handler* TAO_LF_Multi_Event::winner_
mutableprivate

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