| TAO_CosEvent
    2.0.7
    | 
Dispatching strategy that minimizes mt inversion. More...
#include <CEC_MT_Dispatching.h>


| Public Member Functions | |
| TAO_CEC_MT_Dispatching (int nthreads, int thread_creation_flags, int thread_priority, int force_activate) | |
| virtual void | activate (void) | 
| virtual void | shutdown (void) | 
| virtual void | push (TAO_CEC_ProxyPushSupplier *proxy, const CORBA::Any &event) | 
| The consumer represented by <proxy> should receive <event>. | |
| virtual void | push_nocopy (TAO_CEC_ProxyPushSupplier *proxy, CORBA::Any &event) | 
| Private Attributes | |
| ACE_Thread_Manager | thread_manager_ | 
| Use our own thread manager. | |
| int | nthreads_ | 
| The number of active tasks. | |
| int | thread_creation_flags_ | 
| int | thread_priority_ | 
| The priority of the dispatching threads. | |
| int | force_activate_ | 
| TAO_CEC_Dispatching_Task | task_ | 
| The dispatching task. | |
| TAO_SYNCH_MUTEX | lock_ | 
| Synchronize access to internal data. | |
| int | active_ | 
| Are the threads running? | |
Dispatching strategy that minimizes mt inversion.
This strategy uses a single queue, serviced by one or more threads. It's main purpose is to decouple the suppliers from the client execution time, specially in the collocated case.
| TAO_CEC_MT_Dispatching::TAO_CEC_MT_Dispatching | ( | int | nthreads, | 
| int | thread_creation_flags, | ||
| int | thread_priority, | ||
| int | force_activate | ||
| ) | 
Constructor It will create <nthreads> servicing threads...
| void TAO_CEC_MT_Dispatching::activate | ( | void | ) |  [virtual] | 
Initialize all the data structures, activate any internal threads, etc.
Implements TAO_CEC_Dispatching.
| void TAO_CEC_MT_Dispatching::push | ( | TAO_CEC_ProxyPushSupplier * | proxy, | 
| const CORBA::Any & | event | ||
| ) |  [virtual] | 
The consumer represented by <proxy> should receive <event>.
Implements TAO_CEC_Dispatching.
| void TAO_CEC_MT_Dispatching::push_nocopy | ( | TAO_CEC_ProxyPushSupplier * | proxy, | 
| CORBA::Any & | event | ||
| ) |  [virtual] | 
Implements TAO_CEC_Dispatching.
| void TAO_CEC_MT_Dispatching::shutdown | ( | void | ) |  [virtual] | 
Deactivate any internal threads and cleanup internal data structures, it should only return once the threads have finished their jobs.
Implements TAO_CEC_Dispatching.
| int TAO_CEC_MT_Dispatching::active_  [private] | 
Are the threads running?
| int TAO_CEC_MT_Dispatching::force_activate_  [private] | 
If activation at the requested priority fails then we fallback on the defaults for thread activation.
| TAO_SYNCH_MUTEX TAO_CEC_MT_Dispatching::lock_  [private] | 
Synchronize access to internal data.
| int TAO_CEC_MT_Dispatching::nthreads_  [private] | 
The number of active tasks.
The dispatching task.
| int TAO_CEC_MT_Dispatching::thread_creation_flags_  [private] | 
The flags (THR_BOUND, THR_NEW_LWP, etc.) used to create the dispatching threads.
Use our own thread manager.
| int TAO_CEC_MT_Dispatching::thread_priority_  [private] | 
The priority of the dispatching threads.
 1.7.5
 1.7.5