|
Public Member Functions |
| TAO_EC_TPC_Dispatching (TAO_EC_Queue_Full_Service_Object *so) |
| ~TAO_EC_TPC_Dispatching () |
virtual void | activate (void) |
virtual void | shutdown (void) |
virtual void | push (TAO_EC_ProxyPushSupplier *proxy, RtecEventComm::PushConsumer_ptr consumer, const RtecEventComm::EventSet &event, TAO_EC_QOS_Info &qos_info ACE_ENV_ARG_DECL) |
virtual void | push_nocopy (TAO_EC_ProxyPushSupplier *proxy, RtecEventComm::PushConsumer_ptr consumer, RtecEventComm::EventSet &event, TAO_EC_QOS_Info &qos_info ACE_ENV_ARG_DECL) |
int | add_consumer (RtecEventComm::PushConsumer_ptr consumer ACE_ENV_ARG_DECL) |
int | remove_consumer (RtecEventComm::PushConsumer_ptr consumer ACE_ENV_ARG_DECL) |
Private Types |
typedef ACE_Hash_Map_Manager_Ex<
RtecEventComm::PushConsumer_ptr,
TAO_EC_Dispatching_Task *,
ACE_Pointer_Hash< RtecEventComm::PushConsumer_ptr >,
ACE_Equal_To< RtecEventComm::PushConsumer_ptr >,
ACE_Null_Mutex > | MAPTYPE |
Private Attributes |
ACE_Thread_Manager | thread_manager_ |
MAPTYPE | consumer_task_map_ |
ACE_SYNCH_MUTEX | lock_ |
TAO_EC_Queue_Full_Service_Object * | queue_full_service_object_ |
This strategy uses a thread per consumer, and was specifically designed to isolate the effects of an ill-behaved consumer from affecting other consumers.