#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... | |
int | incr_refcount (void) |
Increment and decrement the refcount. The object is deleted when the refcount reaches zero. More... | |
void | decr_refcount (void) |
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... | |
int | incr_pending_upcalls (void) |
Increment and decrement the number of upcalls that have gone through this handler. Returns the upcall count. The calls are thread safe.. More... | |
int | decr_pending_upcalls (void) |
int | pending_upcalls (void) const |
Query the upcall count. More... | |
virtual void | handle_close_i (void)=0 |
Shutdown the 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... | |
void | handle_close_i_eh (ACE_Event_Handler *eh) |
Implement the handle_close_i() template method. 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... | |
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 | pending_upcalls_ |
Count nested upcalls on this svc_handler i.e., the connection can close during nested upcalls, you should not delete the svc_handler until the stack unwinds from the nested upcalls. More... | |
long | reference_count_ |
ACE_Lock * | pending_upcall_lock_ |
Lock for the <pending_upcalls_>. We can have more than one thread trying to access. 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.
|
|
|
|
|
|
Implement the handle_close() callback.
|
|
Shutdown the object.
Reimplemented in TAO_IIOP_Connection_Handler. |
|
Implement the handle_close_i() template method.
|
|
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 number of upcalls that have gone through this handler. Returns the upcall count. The calls are thread safe..
|
|
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.
|
|
Query the upcall count.
|
|
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.
|
|
Pointer to the TAO_ORB_Core.
|
|
Lock for the <pending_upcalls_>. We can have more than one thread trying to access.
|
|
Count nested upcalls on this svc_handler i.e., the connection can close during nested upcalls, you should not delete the svc_handler until the stack unwinds from the nested upcalls.
|
|
|
|
Transport object reference.
|
|
Cached tss resources of the ORB that activated this object.
|