TAO::Wait_On_LF_No_Upcall Class Reference

#include <Wait_On_LF_No_Upcall.h>

Inheritance diagram for TAO::Wait_On_LF_No_Upcall:

Inheritance graph
[legend]
Collaboration diagram for TAO::Wait_On_LF_No_Upcall:

Collaboration graph
[legend]
List of all members.

Public Types

typedef TAO_Wait_On_Leader_Follower base

Public Member Functions

 Wait_On_LF_No_Upcall (TAO_Transport *t)
virtual ~Wait_On_LF_No_Upcall (void)
virtual int wait (ACE_Time_Value *max_wait_time, TAO_Synch_Reply_Dispatcher &rd)
virtual bool can_process_upcalls (void) const

Detailed Description

Definition at line 43 of file Wait_On_LF_No_Upcall.h.


Member Typedef Documentation

typedef TAO_Wait_On_Leader_Follower TAO::Wait_On_LF_No_Upcall::base

Definition at line 47 of file Wait_On_LF_No_Upcall.h.


Constructor & Destructor Documentation

TAO::Wait_On_LF_No_Upcall::Wait_On_LF_No_Upcall ( TAO_Transport t  ) 

Definition at line 78 of file Wait_On_LF_No_Upcall.cpp.

00079     : base (t)
00080   {
00081   }

TAO::Wait_On_LF_No_Upcall::~Wait_On_LF_No_Upcall ( void   )  [virtual]

Definition at line 83 of file Wait_On_LF_No_Upcall.cpp.

00084   {
00085   }


Member Function Documentation

bool TAO::Wait_On_LF_No_Upcall::can_process_upcalls ( void   )  const [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.

Reimplemented from TAO_Wait_On_Leader_Follower.

Definition at line 97 of file Wait_On_LF_No_Upcall.cpp.

References TAO_ORB_Core::get_tss_resources(), TAO_Transport::orb_core(), TAO::TAO_CLIENT_ROLE, and TAO_ORB_Core_TSS_Resources::upcalls_temporarily_suspended_on_this_thread_.

00098   {
00099     TAO_ORB_Core_TSS_Resources *tss =
00100       this->transport_->orb_core ()->get_tss_resources ();
00101 
00102     if ((this->transport_->opened_as () == TAO::TAO_CLIENT_ROLE) &&
00103         (this->transport_->bidirectional_flag () == 0) &&
00104         (tss->upcalls_temporarily_suspended_on_this_thread_ == true))
00105       return false;
00106 
00107     return true;
00108   }

int TAO::Wait_On_LF_No_Upcall::wait ( ACE_Time_Value max_wait_time,
TAO_Synch_Reply_Dispatcher rd 
) [virtual]

Base class virtual method. Wait till the reply_received flag is true or the time expires.

Reimplemented from TAO_Wait_On_Leader_Follower.

Definition at line 88 of file Wait_On_LF_No_Upcall.cpp.

References wait().

00090   {
00091     Nested_Upcall_Guard upcall_guard (this->transport_);
00092 
00093     return base::wait (max_wait_time, rd);
00094   }


The documentation for this class was generated from the following files:
Generated on Tue Feb 2 17:39:20 2010 for TAO by  doxygen 1.4.7