#include <Connection_Handler.h>
Inheritance diagram for TAO_Connection_Handler:
Public Methods | |
TAO_Connection_Handler (void) | |
Constructor. | |
TAO_Connection_Handler (TAO_ORB_Core *orb_core) | |
Constructor. | |
virtual | ~TAO_Connection_Handler (void) |
Destructor. | |
TAO_Transport * | transport (void) |
Return the underlying transport object. | |
void | transport (TAO_Transport *transport) |
Set the underlying transport object. | |
int | is_finalized (void) |
Is the state final? | |
long | incr_refcount (void) |
long | decr_refcount (void) |
void | connection_close_wait (void) |
virtual int | close_connection (void)=0 |
Close the underlying connection. | |
virtual int | handle_input (ACE_HANDLE fd)=0 |
Protected Methods | |
TAO_ORB_Core * | orb_core (void) |
Return our TAO_ORB_Core pointer. | |
TAO_ORB_Core_TSS_Resources * | tss_resources (void) |
Return our TSS Resources pointer. | |
int | set_socket_option (ACE_SOCK &sock, int snd_size, int rcv_size) |
Set options on the socket. | |
int | svc_i (void) |
Helper methods for Event_Handler-based derived classes. | |
Many (actually all so far) implementations of TAO_Connection_Handler are a mixin of TAO_Connection_Handler and some form of ACE_Event_Handler. The following methods simplify such implementations by capturing the common code in a single place. | |
virtual int | handle_close_eh (ACE_HANDLE h, unsigned long reactor_mask, ACE_Event_Handler *eh) |
Implement the handle_close() callback. | |
int | handle_output_eh (ACE_HANDLE h, ACE_Event_Handler *eh) |
Implement the handle_output() callback. | |
int | handle_input_eh (ACE_HANDLE h, ACE_Event_Handler *eh) |
Implement the handle_input() callback. | |
int | close_connection_eh (ACE_Event_Handler *eh) |
virtual int | release_os_resources (void) |
virtual void | pre_io_hook (int &return_value) |
virtual void | pos_io_hook (int &return_value) |
Private Attributes | |
TAO_ORB_Core * | orb_core_ |
Pointer to the TAO_ORB_Core. | |
TAO_Transport * | transport_ |
Transport object reference. | |
TAO_ORB_Core_TSS_Resources * | tss_resources_ |
Cached tss resources of the ORB that activated this object. | |
long | reference_count_ |
Pretty obvious. | |
ACE_Lock * | refcount_lock_ |
Lock for the reference count. | |
ACE_Lock * | lock_ |
This class is an abstraction for the connection handlers. The connections handler in every protocol can derive from this class as well as the ACE_Svc_Handler specialised for the right protocol. This way, most of the common code for the different protocols would be in this implementation.
|
Constructor.
|
|
Constructor.
|
|
Destructor.
|
|
Close the underlying connection. Used by the ORB to actively close connections that are idle, stale or somehow are determined to be broken before the Reactor does.
Implemented in TAO_IIOP_Connection_Handler. |
|
Implement close_connection() for Connection_Handlers that are also Event_Handlers. |
|
Set the handler in |
|
|
|
Implement the handle_close() callback.
|
|
The event handler calls, here so that other objects who hold a reference to this object can call the event handler methods. Implemented in TAO_IIOP_Connection_Handler. |
|
Implement the handle_input() callback.
|
|
Implement the handle_output() callback.
|
|
Increment and decrement the refcount. The object is deleted when the refcount reaches zero. |
|
Is the state final?
|
|
Return our TAO_ORB_Core pointer.
|
|
See the SSLIOP protocol for an interesting use-case |
|
See the SSLIOP protocol for an interesting use-case |
|
Release the OS resources related to this handler, used in handle_close_eh() Reimplemented in TAO_IIOP_Connection_Handler. |
|
Set options on the socket.
|
|
This method is invoked from the svc () method of the Svc_Handler Object. |
|
Set the underlying transport object.
|
|
Return the underlying transport object.
|
|
Return our TSS Resources pointer.
|
|
Internal state lock, needs to be separate from the reference count / pending upcalls lock because they interleave. |
|
Pointer to the TAO_ORB_Core.
|
|
Lock for the reference count.
|
|
Pretty obvious.
|
|
Transport object reference.
|
|
Cached tss resources of the ORB that activated this object.
|