From c20c95d4d526d887c9782960a3ff73f63c3c1c85 Mon Sep 17 00:00:00 2001 From: bala Date: Tue, 28 Oct 2003 18:31:01 +0000 Subject: ChangeLogTag:Tue Oct 28 12:02:47 2003 Balachandran Natarajan --- TAO/tao/Asynch_Reply_Dispatcher_Base.cpp | 28 +++++++++++++++++++--------- 1 file changed, 19 insertions(+), 9 deletions(-) (limited to 'TAO/tao/Asynch_Reply_Dispatcher_Base.cpp') diff --git a/TAO/tao/Asynch_Reply_Dispatcher_Base.cpp b/TAO/tao/Asynch_Reply_Dispatcher_Base.cpp index 78e39543988..be1ca213b97 100644 --- a/TAO/tao/Asynch_Reply_Dispatcher_Base.cpp +++ b/TAO/tao/Asynch_Reply_Dispatcher_Base.cpp @@ -1,7 +1,6 @@ // $Id$ #include "tao/Asynch_Reply_Dispatcher_Base.h" - #include "tao/Pluggable_Messaging_Utils.h" #include "tao/ORB_Core.h" #include "tao/debug.h" @@ -16,7 +15,9 @@ ACE_RCSID (tao, "$Id$") // Constructor. -TAO_Asynch_Reply_Dispatcher_Base::TAO_Asynch_Reply_Dispatcher_Base (TAO_ORB_Core *orb_core) +TAO_Asynch_Reply_Dispatcher_Base::TAO_Asynch_Reply_Dispatcher_Base ( + TAO_ORB_Core *orb_core + ) : db_ (sizeof buf_, ACE_Message_Block::MB_DATA, this->buf_, @@ -36,12 +37,20 @@ TAO_Asynch_Reply_Dispatcher_Base::TAO_Asynch_Reply_Dispatcher_Base (TAO_ORB_Core // Destructor. TAO_Asynch_Reply_Dispatcher_Base::~TAO_Asynch_Reply_Dispatcher_Base (void) +{ + // Release the transport that we own + if (this->transport_ != 0) + this->transport_->remove_reference (); +} + +void +TAO_Asynch_Reply_Dispatcher_Base::transport (TAO_Transport *t) { if (this->transport_ != 0) - { - this->transport_->idle_after_reply (); - this->transport_->remove_reference (); - } + this->transport_->remove_reference (); + + this->transport_ = t; + this->transport_->add_reference (); } // Must override pure virtual method in TAO_Reply_Dispatcher. @@ -53,7 +62,6 @@ TAO_Asynch_Reply_Dispatcher_Base::dispatch_reply ( return 0; } - void TAO_Asynch_Reply_Dispatcher_Base::connection_closed (void) { @@ -65,8 +73,10 @@ TAO_Asynch_Reply_Dispatcher_Base::reply_timed_out (void) } long -TAO_Asynch_Reply_Dispatcher_Base::schedule_timer (CORBA::ULong /*request_id */, - const ACE_Time_Value & /*max_wait_time*/) +TAO_Asynch_Reply_Dispatcher_Base::schedule_timer ( + CORBA::ULong /*request_id */, + const ACE_Time_Value & /*max_wait_time*/ + ) { return 0; } -- cgit v1.2.1