|
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.