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.

Definition at line 42 of file Wait_Strategy.h.


Constructor & Destructor Documentation

TAO_BEGIN_VERSIONED_NAMESPACE_DECL TAO_Wait_Strategy::TAO_Wait_Strategy TAO_Transport transport  ) 
 

Constructor.

Definition at line 17 of file Wait_Strategy.cpp.

00018   : transport_ (transport),
00019     is_registered_ (false)
00020 
00021 {
00022 }

TAO_Wait_Strategy::~TAO_Wait_Strategy void   )  [virtual]
 

Destructor.

Definition at line 25 of file Wait_Strategy.cpp.

00026 {
00027 }


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.

Referenced by TAO_Connection_Handler::handle_input_eh().

ACE_INLINE void TAO_Wait_Strategy::is_registered bool  flag  ) 
 

Set method for the flag.

Definition at line 12 of file Wait_Strategy.inl.

References is_registered_.

00013 {
00014   this->is_registered_ = flag;
00015 }

TAO_BEGIN_VERSIONED_NAMESPACE_DECL ACE_INLINE bool TAO_Wait_Strategy::is_registered void   )  const
 

Get method for the flag.

Definition at line 6 of file Wait_Strategy.inl.

References is_registered_.

Referenced by TAO_Connection_Handler::close_connection_eh(), TAO::Transport_Cache_Manager::find_transport(), TAO_Transport::notify_reactor(), and TAO_Transport::register_handler().

00007 {
00008   return this->is_registered_;
00009 }

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.

Referenced by TAO::Transport_Cache_Manager::find_transport(), TAO_IIOP_Connection_Handler::open(), and TAO_Transport::provide_blockable_handler().

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.

Referenced by TAO_IIOP_Connector::complete_connection(), TAO_Connector::connect(), and TAO_Transport::post_open().

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.

Definition at line 30 of file Wait_Strategy.cpp.

Referenced by TAO_IIOP_Transport::send_request(), and TAO_Wait_On_Leader_Follower::sending_request().

00032 {
00033   return 0;
00034 }

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.

Definition at line 96 of file Wait_Strategy.h.

Referenced by is_registered().

TAO_Transport* TAO_Wait_Strategy::transport_ [protected]
 

Transport object.

Definition at line 91 of file Wait_Strategy.h.


The documentation for this class was generated from the following files:
Generated on Thu Nov 9 12:24:33 2006 for TAO by doxygen 1.3.6