#include <Connection_Handler.h>
Inheritance diagram for TAO_Connection_Handler:
Public Methods | |
TAO_Connection_Handler (void) | |
Constructor. More... | |
TAO_Connection_Handler (TAO_ORB_Core *orb_core) | |
Constructor. More... | |
virtual | ~TAO_Connection_Handler (void) |
Destructor. More... | |
TAO_Transport * | transport (void) |
Return the underlying transport object. More... | |
void | transport (TAO_Transport *transport) |
Set the underlying transport object. More... | |
int | is_connect_complete (void) const |
Did the process of non-blocking connection initialization complete? More... | |
int | is_connect_successful (void) const |
Was the non-blocking connection initialization successful? More... | |
long | incr_refcount (void) |
Increment and decrement the refcount. The object is deleted when the refcount reaches zero. More... | |
long | decr_refcount (void) |
void | connection_close_wait (void) |
Set the handler in LF_EVENT_CONNECTION_CLOSE_WAIT state. More... | |
virtual int | close_connection (void)=0 |
Used by the ORB to actively close connections that are idle, stale or somehow are determined to be broken before the Reactor does. More... | |
virtual int | handle_input (ACE_HANDLE fd)=0 |
The event handler calls, here so that other objects who hold a reference to this object can call the event handler methods. More... | |
Protected Methods | |
TAO_ORB_Core * | orb_core (void) |
Return our TAO_ORB_Core pointer. More... | |
TAO_ORB_Core_TSS_Resources * | tss_resources (void) |
Return our TSS Resources pointer. More... | |
int | set_socket_option (ACE_SOCK &sock, int snd_size, int rcv_size) |
Set options on the socket. More... | |
int | svc_i (void) |
This method is invoked from the svc () method of the Svc_Handler Object. More... | |
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. More... | |
int | handle_output_eh (ACE_HANDLE h, ACE_Event_Handler *eh) |
Implement the handle_output() callback. More... | |
int | handle_input_eh (ACE_HANDLE h, ACE_Event_Handler *eh) |
Implement the handle_input() callback. More... | |
int | close_connection_eh (ACE_Event_Handler *eh) |
Implement close_connection() for Connection_Handlers that are also Event_Handlers. More... | |
virtual int | release_os_resources (void) |
Release the OS resources related to this handler, used in handle_close_eh(). More... | |
virtual void | pre_io_hook (int &return_value) |
See the SSLIOP protocol for an interesting use-case. More... | |
virtual void | pos_io_hook (int &return_value) |
See the SSLIOP protocol for an interesting use-case. More... | |
Private Attributes | |
TAO_ORB_Core * | orb_core_ |
Pointer to the TAO_ORB_Core. More... | |
TAO_Transport * | transport_ |
Transport object reference. More... | |
TAO_ORB_Core_TSS_Resources * | tss_resources_ |
Cached tss resources of the ORB that activated this object. More... | |
long | reference_count_ |
Pretty obvious. More... | |
ACE_Lock * | refcount_lock_ |
Lock for the reference count. More... | |
ACE_Lock * | lock_ |
Internal state lock, needs to be separate from the reference count / pending upcalls lock because they interleave. More... |
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.
|
|
Used by the ORB to actively close connections that are idle, stale or somehow are determined to be broken before the Reactor does.
Reimplemented 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.
Reimplemented 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.
|
|
Did the process of non-blocking connection initialization complete?
|
|
Was the non-blocking connection initialization successful?
|
|
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.
|