#include <LF_Multi_Event.h>
Inheritance diagram for TAO_LF_Multi_Event:
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 (void) |
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 Attributes | |
Event_Node * | events_ |
TAO_Connection_Handler * | winner_ |
Used by the parallel connection strategy for waiting on one of many connections.
Definition at line 39 of file LF_Multi_Event.h.
|
Constructor.
Definition at line 12 of file LF_Multi_Event.cpp.
00013 : TAO_LF_Event (), 00014 events_ (0), 00015 winner_ (0) 00016 { 00017 } |
|
Destructor.
Definition at line 19 of file LF_Multi_Event.cpp. References events_, and TAO_LF_Multi_Event::Event_Node::next_.
|
|
Adds a handler to the collection.
Definition at line 63 of file LF_Multi_Event.cpp. References ACE_NEW, events_, TAO_LF_Multi_Event::Event_Node::next_, and TAO_LF_Multi_Event::Event_Node::ptr_. Referenced by TAO_IIOP_Connector::make_connection(), and TAO_IIOP_Connector::make_parallel_connection().
|
|
Returns the transport associated with the first entry in the collection.
Definition at line 80 of file LF_Multi_Event.cpp. References events_, TAO_LF_Multi_Event::Event_Node::ptr_, and TAO_Connection_Handler::transport(). Referenced by TAO_Connect_Strategy::poll(), and TAO_Connect_Strategy::wait().
|
|
propogate the follower to all the events in the collection.
Reimplemented from TAO_LF_Event. Definition at line 30 of file LF_Multi_Event.cpp. References TAO_LF_Event::bind(), events_, TAO_LF_Multi_Event::Event_Node::next_, and TAO_LF_Multi_Event::Event_Node::ptr_.
00031 { 00032 if (this->TAO_LF_Event::bind(follower) == -1) 00033 { 00034 return -1; 00035 } 00036 00037 for (Event_Node *n = this->events_; n != 0; n = n->next_) 00038 if (n->ptr_->bind(follower) == -1) 00039 { 00040 return -1; 00041 } 00042 return 0; 00043 } |
|
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. Definition at line 98 of file LF_Multi_Event.cpp. References TAO_LF_CH_Event::error_detected(), events_, TAO_LF_Multi_Event::Event_Node::next_, and TAO_LF_Multi_Event::Event_Node::ptr_.
|
|
Check whether we have reached the final state..
Implements TAO_LF_Event. Definition at line 114 of file LF_Multi_Event.cpp. References events_, TAO_LF_CH_Event::is_state_final(), TAO_LF_Multi_Event::Event_Node::next_, and TAO_LF_Multi_Event::Event_Node::ptr_.
|
|
Validate the state change.
Implements TAO_LF_Event. Definition at line 108 of file LF_Multi_Event.cpp.
00109 {
00110 // no-op
00111 }
|
|
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. Definition at line 86 of file LF_Multi_Event.cpp. References events_, TAO_LF_Multi_Event::Event_Node::next_, TAO_LF_Multi_Event::Event_Node::ptr_, TAO_LF_CH_Event::successful(), and winner_.
|
|
Unbind the follower from all the collected events.
Reimplemented from TAO_LF_Event. Definition at line 46 of file LF_Multi_Event.cpp. References events_, TAO_LF_Multi_Event::Event_Node::next_, TAO_LF_Multi_Event::Event_Node::ptr_, and TAO_LF_Event::unbind().
00047 { 00048 if (this->TAO_LF_Event::unbind() == -1) 00049 { 00050 return -1; 00051 } 00052 00053 for (Event_Node *n = this->events_; n != 0; n = n->next_) 00054 if (n->ptr_->unbind() == -1) 00055 { 00056 return -1; 00057 } 00058 return 0; 00059 } |
|
Returns the connection handler that caused the successful status to be returned. Definition at line 74 of file LF_Multi_Event.cpp. References winner_. Referenced by TAO_Connector::wait_for_connection_completion().
00075 { 00076 return this->winner_; 00077 } |
|
Definition at line 91 of file LF_Multi_Event.h. Referenced by add_event(), base_transport(), bind(), error_detected(), is_state_final(), successful(), unbind(), and ~TAO_LF_Multi_Event(). |
|
Definition at line 93 of file LF_Multi_Event.h. Referenced by successful(), and winner(). |