#include <Wait_On_LF_No_Upcall.h>
Inheritance diagram for TAO::Wait_On_LF_No_Upcall:
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 |
Definition at line 43 of file Wait_On_LF_No_Upcall.h.
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.
TAO::Wait_On_LF_No_Upcall::Wait_On_LF_No_Upcall | ( | TAO_Transport * | t | ) |
TAO::Wait_On_LF_No_Upcall::~Wait_On_LF_No_Upcall | ( | void | ) | [virtual] |
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 }