#include <Connection_Handler.h>
Inheritance diagram for TAO_Connection_Handler:
Public Member Functions | |
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. | |
bool | is_closed (void) const |
Is the handler closed? | |
bool | is_open (void) const |
Is the handler open? | |
bool | is_connecting (void) const |
Is the handler in the process of being connected? | |
virtual int | close_connection (void)=0 |
Close the underlying connection. | |
virtual int | handle_input (ACE_HANDLE fd)=0 |
int | svc_i (void) |
virtual int | open_handler (void *)=0 |
A open () hook. | |
virtual int | close_handler (void) |
virtual int | set_dscp_codepoint (CORBA::Boolean set_network_priority) |
virtual int | release_os_resources (void) |
Release the OS resources related to this handler. | |
Protected Member Functions | |
TAO_ORB_Core * | orb_core (void) |
Return our TAO_ORB_Core pointer. | |
int | set_socket_option (ACE_SOCK &sock, int snd_size, int rcv_size) |
Set options on the socket. | |
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. | |
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 | handle_input_internal (ACE_HANDLE h, ACE_Event_Handler *eh) |
Implement the handle_output() callback. | |
int | close_connection_eh (ACE_Event_Handler *eh) |
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. | |
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. |
|
A close() hook, called by the Transport Connector when they want to close this handler |
|
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.
|
|
Implement the handle_output() callback.
|
|
Is the handler closed?
|
|
Is the handler in the process of being connected?
|
|
Is the handler open?
|
|
A open () hook. See Thread_Per_Connection_Handler for a use case Implemented in TAO_IIOP_Connection_Handler. |
|
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.
Reimplemented in TAO_IIOP_Connection_Handler. |
|
Set the Diff-Serv codepoint on outgoing packets. Only has effect for remote protocols (e.g., IIOP); no effect for local protocols (UIOP). Default implementation is for local protocols. Remote protocols must overwrite implementation. 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.
|
|
Internal state lock, needs to be separate from the reference count / pending upcalls lock because they interleave. |
|
Pointer to the TAO_ORB_Core.
|
|
Transport object reference.
|