TAO_RTEvent
2.4.0
|
Filter the events on each supplier. More...
#include <EC_Per_Supplier_Filter.h>
Public Member Functions | |
TAO_EC_Per_Supplier_Filter (TAO_EC_Event_Channel_Base *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) |
virtual void | reconnected (TAO_EC_ProxyPushSupplier *supplier) |
virtual void | disconnected (TAO_EC_ProxyPushSupplier *supplier) |
virtual void | shutdown (void) |
The event channel is shutting down. More... | |
virtual void | push (const RtecEventComm::EventSet &event, TAO_EC_ProxyPushConsumer *consumer) |
virtual void | push_scheduled_event (RtecEventComm::EventSet &event, const TAO_EC_QOS_Info &event_info) |
virtual CORBA::ULong | _decr_refcnt (void) |
virtual CORBA::ULong | _incr_refcnt (void) |
Public Member Functions inherited from TAO_EC_Supplier_Filter | |
virtual | ~TAO_EC_Supplier_Filter (void) |
Destructor. More... | |
Private Attributes | |
TAO_EC_Event_Channel_Base * | 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_ |
CORBA::ULong | refcnt_ |
Reference counting. More... | |
TAO_SYNCH_MUTEX | lock_ |
Locking. More... | |
Filter the events on each supplier.
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.
TAO_EC_Per_Supplier_Filter::TAO_EC_Per_Supplier_Filter | ( | TAO_EC_Event_Channel_Base * | ec | ) |
Constructor.
|
virtual |
Destructor.
|
virtual |
Implements TAO_EC_Supplier_Filter.
|
virtual |
Increment and decrement the reference count, locking must be provided by the user.
Implements TAO_EC_Supplier_Filter.
|
virtual |
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.
Implements TAO_EC_Supplier_Filter.
|
virtual |
Concrete implementations can use this methods to keep track of the consumers interested in this events.
Implements TAO_EC_Supplier_Filter.
|
virtual |
Implements TAO_EC_Supplier_Filter.
|
virtual |
The ProxyPushConsumer delegates on this class to actually send the event.
Implements TAO_EC_Supplier_Filter.
|
virtual |
Events are first scheduled by the TAO_EC_Scheduling_Strategy, and then pushed through this class again.
Implements TAO_EC_Supplier_Filter.
|
virtual |
Implements TAO_EC_Supplier_Filter.
|
virtual |
The event channel is shutting down.
Implements TAO_EC_Supplier_Filter.
|
virtual |
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.
Implements TAO_EC_Supplier_Filter.
|
private |
Keep the collection of proxies for the consumers that may be interested in our events.
|
private |
The proxy for the supplier we are bound to.
|
private |
The event channel, used to locate the set of consumers.
|
private |
Locking.
|
private |
Reference counting.