#include <Thread_Per_Connection_Handler.h>
Inheritance diagram for TAO_Thread_Per_Connection_Handler:
Public Member Functions | |
TAO_Thread_Per_Connection_Handler (TAO_Connection_Handler *ch, TAO_ORB_Core *oc) | |
~TAO_Thread_Per_Connection_Handler (void) | |
virtual int | activate (long flags=THR_NEW_LWP, 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_names[]=0) |
= Active object activation method. | |
virtual int | svc (void) |
Template hook method that the thread uses... | |
virtual int | open (void *) |
virtual int | close (u_long) |
Private Attributes | |
TAO_Connection_Handler * | ch_ |
This object acts as an active object, encapsulating the protocol specific handler which the active thread uses to process incoming messages.
Definition at line 46 of file Thread_Per_Connection_Handler.h.
|
Definition at line 15 of file Thread_Per_Connection_Handler.cpp. References TAO_Transport::add_reference(), ch_, TAO_TPC_BASE, and TAO_Connection_Handler::transport().
00018 : TAO_TPC_BASE (oc->thr_mgr ()) 00019 , ch_ (ch) 00020 { 00021 this->ch_->transport ()->add_reference (); 00022 } |
|
Definition at line 24 of file Thread_Per_Connection_Handler.cpp. References ch_, TAO_Connection_Handler::close_connection(), TAO_Transport::remove_reference(), and TAO_Connection_Handler::transport().
00025 { 00026 this->ch_->close_connection (); 00027 this->ch_->transport ()->remove_reference (); 00028 } |
|
= Active object activation method.
Reimplemented from ACE_Task_Base. Definition at line 31 of file Thread_Per_Connection_Handler.cpp. References ACE_DEBUG, ACE_TEXT, ACE_Task_Base::activate(), LM_DEBUG, and TAO_debug_level. Referenced by TAO_Concurrency_Strategy< SVC_HANDLER >::activate_svc_handler().
00041 { 00042 if (TAO_debug_level) 00043 { 00044 ACE_DEBUG ((LM_DEBUG, 00045 ACE_TEXT ("TAO (%P|%t) - Thread_Per_Connection_Handler::") 00046 ACE_TEXT ("activate %d threads, flags = %d\n"), 00047 n_threads, 00048 flags)); 00049 } 00050 00051 return TAO_TPC_BASE::activate (flags, 00052 n_threads, 00053 force_active, 00054 priority, 00055 grp_id, 00056 task, 00057 thread_handles, 00058 stack, 00059 stack_size, 00060 thread_names); 00061 } |
|
Reimplemented from ACE_Task_Base. Definition at line 80 of file Thread_Per_Connection_Handler.cpp.
00081 { 00082 delete this; 00083 00084 return 0; 00085 } |
|
Reimplemented from ACE_Task_Base. Definition at line 74 of file Thread_Per_Connection_Handler.cpp. References ch_, and TAO_Connection_Handler::open_handler().
00075 { 00076 return this->ch_->open_handler (v); 00077 } |
|
Template hook method that the thread uses... Please see the documentation in ace/Task.h for details. Reimplemented from ACE_Task_Base. Definition at line 64 of file Thread_Per_Connection_Handler.cpp. References ACE_NONBLOCK, ch_, ACE::clr_flags(), and TAO_Connection_Handler::svc_i().
00065 { 00066 ACE::clr_flags (this->ch_->transport ()->event_handler_i ()->get_handle (), 00067 ACE_NONBLOCK); 00068 00069 // Call the implementation here 00070 return this->ch_->svc_i (); 00071 } |
|
Pointer to protocsol specific code that does the bunch of the job. Definition at line 80 of file Thread_Per_Connection_Handler.h. Referenced by open(), svc(), TAO_Thread_Per_Connection_Handler(), and ~TAO_Thread_Per_Connection_Handler(). |