TAO 2.0.4
Classes | Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes
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]

List of all members.

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)
 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 (void)
TAO_Transportbase_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_Nodeevents_
TAO_Connection_Handlerwinner_

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  ) [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.


Member Data Documentation


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines