#include <Wait_Strategy.h>
Inheritance diagram for TAO_Wait_Strategy:
Public Member Functions | |
TAO_Wait_Strategy (TAO_Transport *transport) | |
Constructor. | |
virtual | ~TAO_Wait_Strategy (void) |
Destructor. | |
virtual int | sending_request (TAO_ORB_Core *orb_core, int two_way) |
virtual int | wait (ACE_Time_Value *max_wait_time, TAO_Synch_Reply_Dispatcher &rd)=0 |
virtual int | register_handler (void)=0 |
virtual bool | non_blocking (void) const =0 |
virtual bool | can_process_upcalls (void) const =0 |
int | is_registered (void) |
Get method for the flag. | |
void | is_registered (int flag) |
Set method for the flag. | |
Protected Attributes | |
TAO_Transport * | transport_ |
Transport object. | |
int | is_registered_ |
TAO_BEGIN_VERSIONED_NAMESPACE_DECL TAO_Wait_Strategy::TAO_Wait_Strategy | ( | TAO_Transport * | transport | ) |
Constructor.
TAO_Wait_Strategy::~TAO_Wait_Strategy | ( | void | ) | [virtual] |
Destructor.
virtual bool TAO_Wait_Strategy::can_process_upcalls | ( | void | ) | const [pure virtual] |
This flag is to check whether the thread can process upcalls while waiting for the reply. Some wait strategies, like Wait_On_LF_No_Upcall does not allow the client threads to process requests while waiting for the reply.
Implemented in TAO_Wait_On_Leader_Follower, TAO::Wait_On_LF_No_Upcall, TAO_Wait_On_Reactor, and TAO_Wait_On_Read.
ACE_INLINE void TAO_Wait_Strategy::is_registered | ( | int | flag | ) |
Set method for the flag.
ACE_INLINE int TAO_Wait_Strategy::is_registered | ( | void | ) |
Get method for the flag.
virtual bool TAO_Wait_Strategy::non_blocking | ( | void | ) | const [pure virtual] |
Returns a value to indicate whether the transport needs to set the socket on which it is waiting to non-blocking mode or not.
Implemented in TAO_Wait_On_Leader_Follower, TAO_Wait_On_Reactor, and TAO_Wait_On_Read.
virtual int TAO_Wait_Strategy::register_handler | ( | void | ) | [pure virtual] |
Register the handler needs with the reactor provided that it makes sense for the strategy.
Implemented in TAO_Wait_On_Leader_Follower, TAO_Wait_On_Reactor, and TAO_Wait_On_Read.
int TAO_Wait_Strategy::sending_request | ( | TAO_ORB_Core * | orb_core, | |
int | two_way | |||
) | [virtual] |
The user is going to send a request, prepare any internal variables because the reply may arrive *before* the user calls wait.
Reimplemented in TAO_Wait_On_Leader_Follower.
virtual int TAO_Wait_Strategy::wait | ( | ACE_Time_Value * | max_wait_time, | |
TAO_Synch_Reply_Dispatcher & | rd | |||
) | [pure virtual] |
Base class virtual method. Wait till the reply_received
flag is true or the time expires.
Implemented in TAO_Wait_On_Leader_Follower, TAO::Wait_On_LF_No_Upcall, TAO_Wait_On_Reactor, and TAO_Wait_On_Read.
int TAO_Wait_Strategy::is_registered_ [protected] |
Flag to indicate whether the service handler that created the above transport has been registered with the reactor or not. The default is 0.
TAO_Transport* TAO_Wait_Strategy::transport_ [protected] |
Transport object.