TAO_Wait_Strategy Class Reference

Strategy for waiting for the reply. More...

#include <Wait_Strategy.h>

Inheritance diagram for TAO_Wait_Strategy:

Inheritance graph
[legend]
Collaboration diagram for TAO_Wait_Strategy:

Collaboration graph
[legend]
List of all members.

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_Transporttransport_
 Transport object.
bool is_registered_

Detailed Description

Strategy for waiting for the reply.


Constructor & Destructor Documentation

TAO_BEGIN_VERSIONED_NAMESPACE_DECL TAO_Wait_Strategy::TAO_Wait_Strategy ( TAO_Transport transport  ) 

Constructor.

TAO_Wait_Strategy::~TAO_Wait_Strategy ( void   )  [virtual]

Destructor.


Member Function Documentation

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 ( bool  flag  ) 

Set method for the flag.

TAO_BEGIN_VERSIONED_NAMESPACE_DECL ACE_INLINE 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.


Member Data Documentation

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.


The documentation for this class was generated from the following files:
Generated on Tue Nov 21 09:39:01 2006 for TAO by  doxygen 1.4.7-1