diff options
author | William R. Otte <wotte@dre.vanderbilt.edu> | 2006-07-24 15:50:21 +0000 |
---|---|---|
committer | William R. Otte <wotte@dre.vanderbilt.edu> | 2006-07-24 15:50:21 +0000 |
commit | 3aff90f4a822fcf5d902bbfbcc9fa931d6191a8c (patch) | |
tree | 197c810e5f5bce17b1233a7cb8d7b50c0bcd25e2 /TAO/tao/Wait_On_Leader_Follower.cpp | |
parent | 6b846cf03c0bcbd8c276cb0af61a181e5f98eaae (diff) | |
download | ATCD-3aff90f4a822fcf5d902bbfbcc9fa931d6191a8c.tar.gz |
Repo restructuring
Diffstat (limited to 'TAO/tao/Wait_On_Leader_Follower.cpp')
-rw-r--r-- | TAO/tao/Wait_On_Leader_Follower.cpp | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/TAO/tao/Wait_On_Leader_Follower.cpp b/TAO/tao/Wait_On_Leader_Follower.cpp new file mode 100644 index 00000000000..90b9d41df88 --- /dev/null +++ b/TAO/tao/Wait_On_Leader_Follower.cpp @@ -0,0 +1,74 @@ +// $Id$ + +#include "tao/Wait_On_Leader_Follower.h" +#include "tao/LF_Follower.h" +#include "tao/Leader_Follower.h" +#include "tao/Transport.h" +#include "tao/Synch_Reply_Dispatcher.h" +#include "tao/ORB_Core.h" + +ACE_RCSID (tao, + Wait_On_Leader_Follower, + "$Id$") + +TAO_BEGIN_VERSIONED_NAMESPACE_DECL + +TAO_Wait_On_Leader_Follower::TAO_Wait_On_Leader_Follower (TAO_Transport *transport) + : TAO_Wait_Strategy (transport) +{ +} + +TAO_Wait_On_Leader_Follower::~TAO_Wait_On_Leader_Follower (void) +{ +} + +int +TAO_Wait_On_Leader_Follower::register_handler (void) +{ + if (!this->is_registered_) + { + return this->transport_->register_handler (); + } + + return 1; +} + +bool +TAO_Wait_On_Leader_Follower::non_blocking (void) const +{ + return true; +} + +int +TAO_Wait_On_Leader_Follower::sending_request (TAO_ORB_Core *orb_core, + int two_way) +{ + // Register the handler. + if (!this->is_registered_) + { + this->transport_->register_handler (); + } + + // Send the request. + return this->TAO_Wait_Strategy::sending_request (orb_core, + two_way); +} + +int +TAO_Wait_On_Leader_Follower::wait (ACE_Time_Value *max_wait_time, + TAO_Synch_Reply_Dispatcher &rd) +{ + TAO_Leader_Follower& leader_follower = + this->transport_->orb_core ()->leader_follower (); + return leader_follower.wait_for_event (&rd, + this->transport_, + max_wait_time); +} + +bool +TAO_Wait_On_Leader_Follower::can_process_upcalls (void) const +{ + return true; +} + +TAO_END_VERSIONED_NAMESPACE_DECL |