summaryrefslogtreecommitdiff
path: root/TAO/tao/Wait_On_Leader_Follower.cpp
diff options
context:
space:
mode:
authorWilliam R. Otte <wotte@dre.vanderbilt.edu>2006-07-24 15:50:21 +0000
committerWilliam R. Otte <wotte@dre.vanderbilt.edu>2006-07-24 15:50:21 +0000
commit3aff90f4a822fcf5d902bbfbcc9fa931d6191a8c (patch)
tree197c810e5f5bce17b1233a7cb8d7b50c0bcd25e2 /TAO/tao/Wait_On_Leader_Follower.cpp
parent6b846cf03c0bcbd8c276cb0af61a181e5f98eaae (diff)
downloadATCD-3aff90f4a822fcf5d902bbfbcc9fa931d6191a8c.tar.gz
Repo restructuring
Diffstat (limited to 'TAO/tao/Wait_On_Leader_Follower.cpp')
-rw-r--r--TAO/tao/Wait_On_Leader_Follower.cpp74
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