TAO 4.0.2
|
Use the Leader/Follower loop to wait for one specific event in the invocation path. More...
#include <LF_CH_Event.h>
Public Member Functions | |
TAO_LF_CH_Event () | |
Constructor. | |
virtual | ~TAO_LF_CH_Event () |
Destructor. | |
![]() | |
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 bool | is_state_final () const |
Check whether we have reached the final state.. | |
![]() | |
bool | keep_waiting_i () const |
Check if we should keep waiting. | |
Private Types | |
typedef ACE_Hash_Map_Manager_Ex< TAO_LF_Follower *, int, ACE_Hash< void * >, ACE_Equal_To< TAO_LF_Follower * >, TAO_SYNCH_MUTEX > | HASH_MAP |
Private Member Functions | |
virtual void | state_changed_i (LFS_STATE new_state) |
Validate and change the state. | |
virtual bool | successful_i () const |
virtual bool | error_detected_i () const |
virtual void | set_state (LFS_STATE new_state) |
Set the state irrespective of anything. | |
virtual int | bind (TAO_LF_Follower *follower) |
Bind a follower. | |
virtual int | unbind (TAO_LF_Follower *follower) |
Unbind the follower. | |
void | validate_state_change (LFS_STATE new_state) |
Private Attributes | |
LFS_STATE | prev_state_ |
The previous state that the LF_CH_Event was in. | |
HASH_MAP | followers_ |
Friends | |
class | TAO_LF_Multi_Event |
Additional Inherited Members | |
![]() | |
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 const char * | state_name (LFS_STATE st) |
The current state. | |
![]() | |
LFS_STATE | state_ |
The current state. | |
TAO_LF_Follower * | follower_ |
The bounded follower. | |
Use the Leader/Follower loop to wait for one specific event in the invocation path.
Concrete event types and manipulation class which is used for connection handling purposes.
|
private |
TAO_LF_CH_Event::TAO_LF_CH_Event | ( | ) |
Constructor.
|
virtual |
Destructor.
|
privatevirtual |
Bind a follower.
An event can be waited on by at most one follower thread, this method is used to bind the waiting thread to the event, in order to let the event signal any important state changes.
This is virtual to allow the LF_Multi_Event derived type share the follower with all the subordinate LF_CH_Events.
Reimplemented from TAO_LF_Event.
|
privatevirtual |
Return true if an error was detected while waiting for the event
Implements TAO_LF_Event.
|
protectedvirtual |
Check whether we have reached the final state..
Implements TAO_LF_Event.
|
privatevirtual |
Set the state irrespective of anything.
Reimplemented from TAO_LF_Event.
|
privatevirtual |
Validate and change the state.
Implements TAO_LF_Event.
|
privatevirtual |
Return true if the condition was satisfied successfully, false if it has not
Implements TAO_LF_Event.
|
privatevirtual |
Unbind the follower.
Reimplemented from TAO_LF_Event.
|
private |
|
friend |
The TAO_LF_Multi_Event class is another specialization of TAO_LF_Event, used for aggregating many connection handlers into a single event object. It requires friendship so that it can check the is_state_final() flag on each of its contained connection handlers.
|
private |
|
private |
The previous state that the LF_CH_Event was in.