diff options
author | irfan <irfan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2003-07-07 23:58:34 +0000 |
---|---|---|
committer | irfan <irfan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2003-07-07 23:58:34 +0000 |
commit | 81e0a245decc09943832d52cb9f419e3f8f355b7 (patch) | |
tree | 8aaf3418082d4c3b107e2f01eedf0d55095c7ec7 /TAO/tao/Connection_Handler.h | |
parent | 784fe453b13e068e3ec273b9a0f4021ac5a51e96 (diff) | |
download | ATCD-81e0a245decc09943832d52cb9f419e3f8f355b7.tar.gz |
ChangeLogTag: Mon Jul 07 18:00:38 2003 Irfan Pyarali <irfan@oomworks.com>
Diffstat (limited to 'TAO/tao/Connection_Handler.h')
-rw-r--r-- | TAO/tao/Connection_Handler.h | 41 |
1 files changed, 11 insertions, 30 deletions
diff --git a/TAO/tao/Connection_Handler.h b/TAO/tao/Connection_Handler.h index 6401e86aca6..9394e52c1ac 100644 --- a/TAO/tao/Connection_Handler.h +++ b/TAO/tao/Connection_Handler.h @@ -17,12 +17,12 @@ #include "ace/pre.h" #include "LF_CH_Event.h" +#include "ace/Event_Handler.h" #if !defined (ACE_LACKS_PRAGMA_ONCE) # pragma once #endif /* ACE_LACKS_PRAGMA_ONCE */ - class TAO_ORB_Core; class TAO_ORB_Core_TSS_Resources; class TAO_Transport; @@ -51,23 +51,23 @@ public: /// Constructor TAO_Connection_Handler (TAO_ORB_Core *orb_core); + /// Destructor + virtual ~TAO_Connection_Handler (void); + /// Return the underlying transport object TAO_Transport *transport (void); /// Set the underlying transport object void transport (TAO_Transport* transport); - /// Is the state final? - int is_finalized (void); + /// Is the handler closed? + int is_closed (void); - /// Increment and decrement the refcount. The object is deleted when - /// the refcount reaches zero. - long incr_refcount (void); - long decr_refcount (void); + /// Is the handler open? + int is_open (void); - /// Set the handler in <CODE>LF_EVENT_CONNECTION_CLOSE_WAIT </CODE> - /// state - void connection_close_wait (void); + /// Is the handler in the process of being connected? + int is_connecting (void); /// Close the underlying connection. /** @@ -96,13 +96,6 @@ public: protected: - /// Destructor - /** - * Protected destructor to enforce proper memory management through - * the reference counting mechanism. - */ - virtual ~TAO_Connection_Handler (void); - /// Return our TAO_ORB_Core pointer TAO_ORB_Core *orb_core (void); @@ -125,11 +118,6 @@ protected: * place. */ - /// Implement the handle_close() callback - virtual int handle_close_eh (ACE_HANDLE h, - unsigned long reactor_mask, - ACE_Event_Handler * eh); - /// Implement the handle_output() callback int handle_output_eh (ACE_HANDLE h, ACE_Event_Handler * eh); @@ -140,8 +128,7 @@ protected: /// also Event_Handlers. int close_connection_eh (ACE_Event_Handler * eh); - /// Release the OS resources related to this handler, used in - /// handle_close_eh() + /// Release the OS resources related to this handler. virtual int release_os_resources (void); /// Pre-invocation hook for I/O operations (handle_input() & @@ -170,12 +157,6 @@ private: /// Cached tss resources of the ORB that activated this object. TAO_ORB_Core_TSS_Resources *tss_resources_; - /// Pretty obvious - long reference_count_; - - /// Lock for the reference count - ACE_Lock *refcount_lock_; - /// Internal state lock, needs to be separate from the reference /// count / pending upcalls lock because they interleave. ACE_Lock * lock_; |