#include <Wait_Strategy.h>
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 |
bool | is_registered (void) const |
Get method for the flag. | |
void | is_registered (bool flag) |
Set method for the flag. | |
Protected Attributes | |
TAO_Transport * | transport_ |
Transport object. | |
bool | is_registered_ |
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] |
Flag that indicates whether we can process requests while waiting for the reply. 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.
void TAO_Wait_Strategy::is_registered | ( | bool | flag | ) |
Set method for the flag.
bool TAO_Wait_Strategy::is_registered | ( | void | ) | const |
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.
bool 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 false.
TAO_Transport* TAO_Wait_Strategy::transport_ [protected] |
Transport object.