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

Protected Member Functions

virtual void state_changed_i (int new_state)
 Validate the state change. More...
 
virtual int is_state_final (void)
 Check whether we have reached the final state.. More...
 

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_IDLE = 0, LFS_ACTIVE, LFS_CONNECTION_WAIT, LFS_SUCCESS,
  LFS_FAILURE, LFS_TIMEOUT, LFS_CONNECTION_CLOSED
}
 
- Static Public Member Functions inherited from TAO_LF_Event
static const char * state_name (int st)
 
- Protected Attributes inherited from TAO_LF_Event
int state_
 The current state. More...
 
TAO_LF_Followerfollower_
 The bounded follower. More...
 

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::TAO_LF_Multi_Event ( void  )

Constructor.

TAO_LF_Multi_Event::~TAO_LF_Multi_Event ( void  )
virtual

Destructor.

TAO_LF_Multi_Event::TAO_LF_Multi_Event ( const TAO_LF_Multi_Event )
private

Member Function Documentation

void TAO_LF_Multi_Event::add_event ( TAO_Connection_Handler ch)

Adds a handler to the collection.

TAO_Transport * TAO_LF_Multi_Event::base_transport ( void  )

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

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.

int TAO_LF_Multi_Event::error_detected ( void  ) const
virtual

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

Implements TAO_LF_Event.

int TAO_LF_Multi_Event::is_state_final ( void  )
protectedvirtual

Check whether we have reached the final state..

Implements TAO_LF_Event.

void TAO_LF_Multi_Event::operator= ( const TAO_LF_Multi_Event )
private
void TAO_LF_Multi_Event::state_changed_i ( int  new_state)
protectedvirtual

Validate the state change.

Implements TAO_LF_Event.

int TAO_LF_Multi_Event::successful ( void  ) const
virtual

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

Implements TAO_LF_Event.

int TAO_LF_Multi_Event::unbind ( TAO_LF_Follower follower)
virtual

Unbind the follower from all the collected events.

Reimplemented from TAO_LF_Event.

TAO_Connection_Handler * TAO_LF_Multi_Event::winner ( void  )

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

Member Data Documentation

struct Event_Node* TAO_LF_Multi_Event::events_
private
TAO_Connection_Handler* TAO_LF_Multi_Event::winner_
mutableprivate

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