Use the Leader/Follower loop to wait for one specific event in the invocation path. More...
#include <LF_Multi_Event.h>
Classes | |
struct | Event_Node |
Public Member Functions | |
TAO_LF_Multi_Event (void) | |
Constructor. | |
virtual | ~TAO_LF_Multi_Event (void) |
Destructor. | |
virtual int | bind (TAO_LF_Follower *follower) |
propogate 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_Handler * | winner (void) |
TAO_Transport * | base_transport (void) |
Returns the transport associated with the first entry in the collection. | |
int | successful (void) const |
int | error_detected (void) const |
Protected Member Functions | |
virtual void | state_changed_i (int new_state) |
Validate the state change. | |
virtual int | is_state_final (void) |
Check whether we have reached the final state.. | |
Private Member Functions | |
void | operator= (const TAO_LF_Multi_Event &) |
TAO_LF_Multi_Event (const TAO_LF_Multi_Event &) | |
Private Attributes | |
struct Event_Node * | events_ |
TAO_Connection_Handler * | winner_ |
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.
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] |
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] |
propogate 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 | ) | [protected, virtual] |
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 ) | [protected, virtual] |
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.
struct Event_Node* TAO_LF_Multi_Event::events_ [private] |
TAO_Connection_Handler* TAO_LF_Multi_Event::winner_ [mutable, private] |