TAO  2.1.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Protected Member Functions | Private Attributes | List of all members
TAO_IIOP_Connection_Handler Class Reference

Handles requests on a single connection. More...

#include <IIOP_Connection_Handler.h>

Inheritance diagram for TAO_IIOP_Connection_Handler:
Inheritance graph
Collaboration diagram for TAO_IIOP_Connection_Handler:
Collaboration graph

Public Member Functions

 TAO_IIOP_Connection_Handler (ACE_Thread_Manager *=0)
 
 TAO_IIOP_Connection_Handler (TAO_ORB_Core *orb_core)
 Constructor.
 
 ~TAO_IIOP_Connection_Handler (void)
 Destructor.
 
virtual int open (void *)
 
int close (u_long=0)
 
int add_transport_to_cache (void)
 Add ourselves to Cache.
 
int process_listen_point_list (IIOP::ListenPointList &listen_list)
 Process the listen_list.
 
int enable_network_priority (void)
 Check if network priority needs to be enabled.
 
int set_dscp_codepoint (CORBA::Boolean set_network_priority)
 Set Diff-Serv codepoint on outgoing packets.
 
int set_dscp_codepoint (CORBA::Long dscp_codepoint)
 
virtual int open_handler (void *)
 A open () hook.
 
void abort (void)
 
Event Handler overloads
virtual int resume_handler (void)
 
virtual int close_connection (void)
 Close the underlying connection.
 
virtual int handle_input (ACE_HANDLE)
 
virtual int handle_output (ACE_HANDLE)
 
virtual int handle_close (ACE_HANDLE, ACE_Reactor_Mask)
 
virtual int handle_timeout (const ACE_Time_Value &current_time, const void *act=0)
 
- Public Member Functions inherited from ACE_Svc_Handler< ACE_SOCK_STREAM, ACE_NULL_SYNCH >
 ACE_Svc_Handler (ACE_Thread_Manager *thr_mgr=0, ACE_Message_Queue< ACE_SYNCH_USE > *mq=0, ACE_Reactor *reactor=ACE_Reactor::instance())
 
virtual ~ACE_Svc_Handler (void)
 
virtual int idle (u_long flags=0)
 
virtual ACE_Recyclable_State recycle_state (void) const
 
virtual int recycle_state (ACE_Recyclable_State new_state)
 
virtual void cleanup_hint (void **act_holder=0)
 
virtual int init (int argc, ACE_TCHAR *argv[])
 
virtual int fini (void)
 
virtual int info (ACE_TCHAR **info_string, size_t length) const
 
virtual ACE_HANDLE get_handle (void) const
 
virtual void set_handle (ACE_HANDLE)
 
ACE_PEER_STREAMpeer (void) const
 
void * operator new (size_t n)
 
void * operator new (size_t n, void *p)
 
virtual void destroy (void)
 
void operator delete (void *)
 
void operator delete (void *, void *)
 
void shutdown (void)
 
void dump (void) const
 
void dump (void) const
 
virtual void recycler (ACE_Connection_Recycling_Strategy *recycler, const void *recycling_act)
 
virtual
ACE_Connection_Recycling_Strategy
recycler (void) const
 
virtual const void * recycling_act (void) const
 
virtual int recycle (void *=0)
 
 ACE_Task (ACE_Thread_Manager *thr_mgr=0, ACE_Message_Queue< ACE_SYNCH_USE, ACE_System_Time_Policy > *mq=0)
 
virtual ~ACE_Task (void)
 
ACE_Message_Queue
< ACE_SYNCH_USE,
ACE_System_Time_Policy > * 
msg_queue (void)
 
void msg_queue (ACE_Message_Queue< ACE_SYNCH_USE, ACE_System_Time_Policy > *)
 
ACE_Time_Value_T
< ACE_System_Time_Policy
gettimeofday (void) const
 
void set_time_policy (ACE_System_Time_Policyconst &time_policy)
 
int putq (ACE_Message_Block *, ACE_Time_Value *timeout=0)
 
int getq (ACE_Message_Block *&mb, ACE_Time_Value *timeout=0)
 
int ungetq (ACE_Message_Block *, ACE_Time_Value *timeout=0)
 
int reply (ACE_Message_Block *mb, ACE_Time_Value *tv=0)
 
int put_next (ACE_Message_Block *msg, ACE_Time_Value *timeout=0)
 
const ACE_TCHARname (void) const
 
ACE_Task< ACE_SYNCH_USE,
ACE_System_Time_Policy > * 
next (void)
 
void next (ACE_Task< ACE_SYNCH_USE, ACE_System_Time_Policy > *)
 
ACE_Task< ACE_SYNCH_USE,
ACE_System_Time_Policy > * 
sibling (void)
 
ACE_Module< ACE_SYNCH_USE,
ACE_System_Time_Policy > * 
module (void) const
 
int flush (u_long flag=ACE_Task_Flags::ACE_FLUSHALL)
 
void water_marks (ACE_IO_Cntl_Msg::ACE_IO_Cntl_Cmds, size_t)
 
 ACE_Task_Base (ACE_Thread_Manager *=0)
 
virtual ~ACE_Task_Base (void)
 
virtual int module_closed (void)
 
virtual int put (ACE_Message_Block *, ACE_Time_Value *=0)
 
virtual int svc (void)
 
virtual int activate (long flags=THR_NEW_LWP|THR_JOINABLE|THR_INHERIT_SCHED, int n_threads=1, int force_active=0, long priority=ACE_DEFAULT_THREAD_PRIORITY, int grp_id=-1, ACE_Task_Base *task=0, ACE_hthread_t thread_handles[]=0, void *stack[]=0, size_t stack_size[]=0, ACE_thread_t thread_ids[]=0, const char *thr_name[]=0)
 
virtual int wait (void)
 
virtual int suspend (void)
 
virtual int resume (void)
 
int grp_id (void) const
 
void grp_id (int)
 
ACE_Thread_Managerthr_mgr (void) const
 
void thr_mgr (ACE_Thread_Manager *)
 
int is_reader (void) const
 
int is_writer (void) const
 
size_t thr_count (void) const
 
ACE_thread_t last_thread (void) const
 
 ACE_Service_Object (ACE_Reactor *=0)
 
virtual ~ACE_Service_Object (void)
 
virtual ~ACE_Event_Handler (void)
 
virtual int priority (void) const
 
virtual void priority (int priority)
 
virtual int handle_exception (ACE_HANDLE fd=ACE_INVALID_HANDLE)
 
virtual int handle_exit (ACE_Process *)
 
virtual int handle_signal (int signum, siginfo_t *=0, ucontext_t *=0)
 
virtual int handle_qos (ACE_HANDLE=ACE_INVALID_HANDLE)
 
virtual int handle_group_qos (ACE_HANDLE=ACE_INVALID_HANDLE)
 
virtual void reactor (ACE_Reactor *reactor)
 
virtual ACE_Reactorreactor (void) const
 
virtual
ACE_Reactor_Timer_Interface
reactor_timer_interface (void) const
 
virtual Reference_Count add_reference (void)
 
virtual Reference_Count remove_reference (void)
 
Reference_Counting_Policyreference_counting_policy (void)
 
 ACE_Shared_Object (void)
 
virtual ~ACE_Shared_Object (void)
 
- Public Member Functions inherited from ACE_Task< ACE_SYNCH_USE >
 ACE_Task (ACE_Thread_Manager *thr_mgr=0, ACE_Message_Queue< ACE_SYNCH_USE, TIME_POLICY > *mq=0)
 
ACE_Message_Queue
< ACE_SYNCH_USE, TIME_POLICY > * 
msg_queue (void)
 
void msg_queue (ACE_Message_Queue< ACE_SYNCH_USE, TIME_POLICY > *)
 
ACE_Time_Value_T< TIME_POLICY > gettimeofday (void) const
 
void set_time_policy (TIME_POLICY const &time_policy)
 
int putq (ACE_Message_Block *, ACE_Time_Value *timeout=0)
 
int getq (ACE_Message_Block *&mb, ACE_Time_Value *timeout=0)
 
int ungetq (ACE_Message_Block *, ACE_Time_Value *timeout=0)
 
int reply (ACE_Message_Block *mb, ACE_Time_Value *tv=0)
 
int put_next (ACE_Message_Block *msg, ACE_Time_Value *timeout=0)
 
const ACE_TCHARname (void) const
 
ACE_Task< ACE_SYNCH_USE,
TIME_POLICY > * 
next (void)
 
void next (ACE_Task< ACE_SYNCH_USE, TIME_POLICY > *)
 
ACE_Task< ACE_SYNCH_USE,
TIME_POLICY > * 
sibling (void)
 
ACE_Module< ACE_SYNCH_USE,
TIME_POLICY > * 
module (void) const
 
int flush (u_long flag=ACE_Task_Flags::ACE_FLUSHALL)
 
void water_marks (ACE_IO_Cntl_Msg::ACE_IO_Cntl_Cmds, size_t)
 
void dump (void) const
 
 ACE_Task_Base (ACE_Thread_Manager *=0)
 
int grp_id (void) const
 
void grp_id (int)
 
ACE_Thread_Managerthr_mgr (void) const
 
void thr_mgr (ACE_Thread_Manager *)
 
int is_reader (void) const
 
int is_writer (void) const
 
size_t thr_count (void) const
 
ACE_thread_t last_thread (void) const
 
 ACE_Service_Object (ACE_Reactor *=0)
 
Reference_Counting_Policyreference_counting_policy (void)
 
 ACE_Shared_Object (void)
 
- Public Member Functions inherited from ACE_Task_Base
 ACE_Task_Base (ACE_Thread_Manager *=0)
 
int grp_id (void) const
 
void grp_id (int)
 
ACE_Thread_Managerthr_mgr (void) const
 
void thr_mgr (ACE_Thread_Manager *)
 
int is_reader (void) const
 
int is_writer (void) const
 
size_t thr_count (void) const
 
ACE_thread_t last_thread (void) const
 
 ACE_Service_Object (ACE_Reactor *=0)
 
Reference_Counting_Policyreference_counting_policy (void)
 
 ACE_Shared_Object (void)
 
- Public Member Functions inherited from ACE_Service_Object
 ACE_Service_Object (ACE_Reactor *=0)
 
Reference_Counting_Policyreference_counting_policy (void)
 
 ACE_Shared_Object (void)
 
- Public Member Functions inherited from ACE_Event_Handler
Reference_Counting_Policyreference_counting_policy (void)
 
- Public Member Functions inherited from ACE_Shared_Object
 ACE_Shared_Object (void)
 
- Public Member Functions inherited from TAO_Connection_Handler
 TAO_Connection_Handler (TAO_ORB_Core *orb_core)
 Constructor.
 
virtual ~TAO_Connection_Handler (void)
 Destructor.
 
TAO_Transporttransport (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 or timed out?
 
bool is_open (void) const
 Is the handler open?
 
bool is_timeout (void) const
 Closed due to timeout?
 
bool is_connecting (void) const
 Is the handler in the process of being connected?
 
int svc_i (void)
 
virtual int close_handler (u_long flags=0)
 
void connection_pending (void)
 
void cancel_pending_connection (void)
 
- Public Member Functions inherited from TAO_LF_CH_Event
 TAO_LF_CH_Event (void)
 Constructor.
 
virtual ~TAO_LF_CH_Event (void)
 Destructor.
 
int successful (void) const
 
int error_detected (void) const
 
- Public Member Functions inherited from TAO_LF_Event
 TAO_LF_Event (void)
 Constructor.
 
virtual ~TAO_LF_Event (void)
 Destructor.
 
void reset_state (int new_state)
 Reset the state, irrespective of the previous states.
 
void state_changed (int new_state, TAO_Leader_Follower &lf)
 
int keep_waiting (void)
 Check if we should keep waiting.
 

Protected Member Functions

virtual int handle_write_ready (const ACE_Time_Value *timeout)
 
int set_tos (int tos)
 
TAO_Connection Handler overloads
virtual int release_os_resources (void)
 Release the OS resources related to this handler.
 
- Protected Member Functions inherited from ACE_Svc_Handler< ACE_SOCK_STREAM, ACE_NULL_SYNCH >
 ACE_Event_Handler (ACE_Reactor *=0, int priority=ACE_Event_Handler::LO_PRIORITY)
 
- Protected Member Functions inherited from ACE_Task< ACE_SYNCH_USE >
 ACE_Event_Handler (ACE_Reactor *=0, int priority=ACE_Event_Handler::LO_PRIORITY)
 
- Protected Member Functions inherited from ACE_Task_Base
 ACE_Event_Handler (ACE_Reactor *=0, int priority=ACE_Event_Handler::LO_PRIORITY)
 
- Protected Member Functions inherited from ACE_Service_Object
 ACE_Event_Handler (ACE_Reactor *=0, int priority=ACE_Event_Handler::LO_PRIORITY)
 
- Protected Member Functions inherited from ACE_Event_Handler
 ACE_Event_Handler (ACE_Reactor *=0, int priority=ACE_Event_Handler::LO_PRIORITY)
 
- Protected Member Functions inherited from TAO_Connection_Handler
TAO_ORB_Coreorb_core (void)
 Return our TAO_ORB_Core pointer.
 
int shared_open (void)
 
int set_socket_option (ACE_SOCK &sock, int snd_size, int rcv_size)
 Set options on the socket.
 
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)
 
- Protected Member Functions inherited from TAO_LF_CH_Event
virtual int is_state_final (void)
 Check whether we have reached the final state..
 

Private Attributes

int dscp_codepoint_
 Stores the type of service value.
 

Additional Inherited Members

- Public Types inherited from ACE_Svc_Handler< ACE_SOCK_STREAM, ACE_NULL_SYNCH >
typedef ACE_PEER_STREAM_ADDR addr_type
 
typedef ACE_PEER_STREAM stream_type
 
- Public Types inherited from TAO_LF_Event
enum  {
  LFS_IDLE = 0, LFS_ACTIVE, LFS_CONNECTION_WAIT, LFS_SUCCESS,
  LFS_FAILURE, LFS_TIMEOUT, LFS_CONNECTION_CLOSED
}
 
- Static Public Member Functions inherited from ACE_Svc_Handler< ACE_SOCK_STREAM, ACE_NULL_SYNCH >
static ACE_THR_FUNC_RETURN svc_run (void *)
 
static void cleanup (void *object, void *params)
 
- Static Public Member Functions inherited from TAO_LF_Event
static const char * state_name (int st)
 
- Public Attributes inherited from ACE_Svc_Handler< ACE_SOCK_STREAM, ACE_NULL_SYNCH >
ACE_Message_Queue
< ACE_SYNCH_USE,
ACE_System_Time_Policy > * 
msg_queue_
 
bool delete_msg_queue_
 
ACE_Module< ACE_SYNCH_USE,
ACE_System_Time_Policy > * 
mod_
 
ACE_Task< ACE_SYNCH_USE,
ACE_System_Time_Policy > * 
next_
 
 ACE_ALLOC_HOOK_DECLARE
 
- Protected Types inherited from ACE_Svc_Handler< ACE_SOCK_STREAM, ACE_NULL_SYNCH >
typedef ACE_Atomic_Op
< ACE_SYNCH_MUTEX,
Reference_Count
Atomic_Reference_Count
 
- Protected Attributes inherited from ACE_Svc_Handler< ACE_SOCK_STREAM, ACE_NULL_SYNCH >
ACE_PEER_STREAM peer_
 
bool dynamic_
 
bool closing_
 
ACE_Connection_Recycling_Strategyrecycler_
 
const void * recycling_act_
 
- Protected Attributes inherited from TAO_LF_Event
int state_
 The current state.
 
TAO_LF_Followerfollower_
 The bounded follower.
 

Detailed Description

Handles requests on a single connection.

The Connection handler which is common for the Acceptor and the Connector

Constructor & Destructor Documentation

TAO_IIOP_Connection_Handler::TAO_IIOP_Connection_Handler ( ACE_Thread_Manager t = 0)
TAO_IIOP_Connection_Handler::TAO_IIOP_Connection_Handler ( TAO_ORB_Core orb_core)

Constructor.

TAO_IIOP_Connection_Handler::~TAO_IIOP_Connection_Handler ( void  )

Destructor.

Member Function Documentation

void TAO_IIOP_Connection_Handler::abort ( void  )

This is used during a canceled connection attempt. Force the SO_LINGER timeout to 0 so that when the peer is closed, it won't hang around.

int TAO_IIOP_Connection_Handler::add_transport_to_cache ( void  )

Add ourselves to Cache.

int TAO_IIOP_Connection_Handler::close ( u_long  flags = 0)
virtual

Close called by the Acceptor or Connector when connection establishment fails.

Reimplemented from ACE_Svc_Handler< ACE_SOCK_STREAM, ACE_NULL_SYNCH >.

int TAO_IIOP_Connection_Handler::close_connection ( void  )
virtual

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.

Returns
Return 0 if the connection was already closed, non-zero otherwise.

Implements TAO_Connection_Handler.

int TAO_IIOP_Connection_Handler::enable_network_priority ( void  )

Check if network priority needs to be enabled.

int TAO_IIOP_Connection_Handler::handle_close ( ACE_HANDLE  ,
ACE_Reactor_Mask   
)
virtual
int TAO_IIOP_Connection_Handler::handle_input ( ACE_HANDLE  fd)
virtual

The event handler calls, here so that other objects who hold a reference to this object can call the event handler methods.

Implements TAO_Connection_Handler.

int TAO_IIOP_Connection_Handler::handle_output ( ACE_HANDLE  handle)
virtual
int TAO_IIOP_Connection_Handler::handle_timeout ( const ACE_Time_Value current_time,
const void *  act = 0 
)
virtual
int TAO_IIOP_Connection_Handler::handle_write_ready ( const ACE_Time_Value timeout)
protectedvirtual

Derived classes should implement this for proper support with the Blocking Flushing Strategy.

Reimplemented from TAO_Connection_Handler.

int TAO_IIOP_Connection_Handler::open ( void *  )
virtual

Called by the Strategy_Acceptor when the handler is completely connected. Argument is unused.

Reimplemented from ACE_Svc_Handler< ACE_SOCK_STREAM, ACE_NULL_SYNCH >.

int TAO_IIOP_Connection_Handler::open_handler ( void *  )
virtual

A open () hook.

See Thread_Per_Connection_Handler for a use case

Implements TAO_Connection_Handler.

int TAO_IIOP_Connection_Handler::process_listen_point_list ( IIOP::ListenPointList listen_list)

Process the listen_list.

int TAO_IIOP_Connection_Handler::release_os_resources ( void  )
protectedvirtual

Release the OS resources related to this handler.

Reimplemented from TAO_Connection_Handler.

int TAO_IIOP_Connection_Handler::resume_handler ( void  )
virtual
int TAO_IIOP_Connection_Handler::set_dscp_codepoint ( CORBA::Boolean  set_network_priority)
virtual

Set Diff-Serv codepoint on outgoing packets.

Reimplemented from TAO_Connection_Handler.

int TAO_IIOP_Connection_Handler::set_dscp_codepoint ( CORBA::Long  dscp_codepoint)
virtual

Reimplemented from TAO_Connection_Handler.

int TAO_IIOP_Connection_Handler::set_tos ( int  tos)
protected

helper function used by the set_dscp_codepoint () methods to set the TOS field in the IP packets.

Member Data Documentation

int TAO_IIOP_Connection_Handler::dscp_codepoint_
private

Stores the type of service value.


The documentation for this class was generated from the following files: