#include <EC_Per_Supplier_Filter.h>
Inheritance diagram for TAO_EC_Per_Supplier_Filter:
Public Methods | |
TAO_EC_Per_Supplier_Filter (TAO_EC_Event_Channel *ec) | |
Constructor. More... | |
virtual | ~TAO_EC_Per_Supplier_Filter (void) |
Destructor. More... | |
virtual void | bind (TAO_EC_ProxyPushConsumer *consumer) |
virtual void | unbind (TAO_EC_ProxyPushConsumer *consumer) |
virtual void | connected (TAO_EC_ProxyPushSupplier *supplier ACE_ENV_ARG_DECL) |
Concrete implementations can use this methods to keep track of the consumers interested in this events. More... | |
virtual void | reconnected (TAO_EC_ProxyPushSupplier *supplier ACE_ENV_ARG_DECL) |
virtual void | disconnected (TAO_EC_ProxyPushSupplier *supplier ACE_ENV_ARG_DECL) |
virtual void | shutdown (ACE_ENV_SINGLE_ARG_DECL) |
The event channel is shutting down. More... | |
virtual void | push (const RtecEventComm::EventSet &event, TAO_EC_ProxyPushConsumer *consumer ACE_ENV_ARG_DECL_NOT_USED) |
The ProxyPushConsumer delegates on this class to actually send the event. More... | |
virtual void | push_scheduled_event (RtecEventComm::EventSet &event, const TAO_EC_QOS_Info &event_info ACE_ENV_ARG_DECL) |
Events are first scheduled by the TAO_EC_Scheduling_Strategy, and then pushed through this class again. More... | |
virtual CORBA::ULong | _decr_refcnt (void) |
virtual CORBA::ULong | _incr_refcnt (void) |
Increment and decrement the reference count, locking must be provided by the user. More... | |
Private Attributes | |
TAO_EC_Event_Channel * | event_channel_ |
The event channel, used to locate the set of consumers. More... | |
TAO_EC_ProxyPushConsumer * | consumer_ |
The proxy for the supplier we are bound to. More... | |
TAO_ESF_Proxy_Collection< TAO_EC_ProxyPushSupplier > * | collection_ |
Keep the collection of proxies for the consumers that may be interested in our events. More... | |
CORBA::ULong | refcnt_ |
Reference counting. More... | |
TAO_SYNCH_MUTEX | lock_ |
Locking. More... |
This is a filtering strategy for the suppliers. In this particular case we keep a collection of the consumers that could potentially be interested in any event generated by a particular supplier. This minimizes the amount of consumers touched by the EC when dispatching an event.
|
Constructor.
|
|
Destructor.
|
|
Reimplemented from TAO_EC_Supplier_Filter. |
|
Increment and decrement the reference count, locking must be provided by the user.
Reimplemented from TAO_EC_Supplier_Filter. |
|
Whenever a ProxyPushConsumer is initialized it calls this method to inform the Supplier_Filter of its identity. Strategies that do not keep ProxyPushConsumer specific information, or that are shared between multiple ProxyPushConsumers can ignore this message. Reimplemented from TAO_EC_Supplier_Filter. |
|
Concrete implementations can use this methods to keep track of the consumers interested in this events.
Reimplemented from TAO_EC_Supplier_Filter. |
|
Reimplemented from TAO_EC_Supplier_Filter. |
|
The ProxyPushConsumer delegates on this class to actually send the event.
Reimplemented from TAO_EC_Supplier_Filter. |
|
Events are first scheduled by the TAO_EC_Scheduling_Strategy, and then pushed through this class again.
Reimplemented from TAO_EC_Supplier_Filter. |
|
Reimplemented from TAO_EC_Supplier_Filter. |
|
The event channel is shutting down.
Reimplemented from TAO_EC_Supplier_Filter. |
|
Wheneve a ProxyPushConsumer is about to be destroyed it calls this method to inform the Supplier_Filter that it should release any resources related to it. Supplier_Filter strategies that are bound to a particular ProxyConsumer can use this opportunity to destroy themselves; filter strategies that do not keep ProxyPushConsumer specific information can simply ignore the message. Reimplemented from TAO_EC_Supplier_Filter. |
|
Keep the collection of proxies for the consumers that may be interested in our events.
|
|
The proxy for the supplier we are bound to.
|
|
The event channel, used to locate the set of consumers.
|
|
Locking.
|
|
Reference counting.
|