diff options
Diffstat (limited to 'TAO/tao/IIOP_Connection_Handler.cpp')
-rw-r--r-- | TAO/tao/IIOP_Connection_Handler.cpp | 45 |
1 files changed, 7 insertions, 38 deletions
diff --git a/TAO/tao/IIOP_Connection_Handler.cpp b/TAO/tao/IIOP_Connection_Handler.cpp index cda23b18fe7..d546636ba27 100644 --- a/TAO/tao/IIOP_Connection_Handler.cpp +++ b/TAO/tao/IIOP_Connection_Handler.cpp @@ -53,20 +53,8 @@ TAO_IIOP_Connection_Handler::TAO_IIOP_Connection_Handler (TAO_ORB_Core *orb_core TAO_IIOP_Connection_Handler::~TAO_IIOP_Connection_Handler (void) { - // If the socket has not already been closed. - if (this->get_handle () != ACE_INVALID_HANDLE) - { - // Cannot deal with errors, and therefore they are ignored. - this->transport_.send_buffered_messages (); - } - else - { - // Dequeue messages and delete message blocks. - this->transport_.dequeue_all (); - } } - int TAO_IIOP_Connection_Handler::open (void*) { @@ -193,22 +181,8 @@ TAO_IIOP_Connection_Handler::handle_close (ACE_HANDLE handle, // passed to the reactor on ORB destruction. this->is_registered (0); - // Close the handle.. - if (this->get_handle () != ACE_INVALID_HANDLE) - { - // Send the buffered messages first - this->transport_.send_buffered_messages (); - - this->peer ().close (); - - // Purge the entry too - this->mark_invalid (); - } - // Decrement the reference count this->decr_ref_count (); - - } return 0; @@ -220,27 +194,22 @@ TAO_IIOP_Connection_Handler::fetch_handle (void) return this->get_handle (); } - int TAO_IIOP_Connection_Handler::handle_timeout (const ACE_Time_Value &, const void *) { - // This method is called when buffering timer expires. - // - ACE_Time_Value *max_wait_time = 0; - - TAO_Stub *stub = 0; - int has_timeout; - this->orb_core ()->call_timeout_hook (stub, - has_timeout, - *max_wait_time); - // Cannot deal with errors, and therefore they are ignored. - this->transport ()->send_buffered_messages (max_wait_time); + if (this->transport ()->handle_output () == -1) + return -1; return 0; } +int +TAO_IIOP_Connection_Handler::handle_output (ACE_HANDLE) +{ + return this->transport ()->handle_output (); +} int TAO_IIOP_Connection_Handler::close (u_long) |