TAO_RTEvent
2.0.8
|
The strategy to filter close to the supplier. More...
#include <EC_Supplier_Filter.h>
Public Member Functions | |
virtual | ~TAO_EC_Supplier_Filter (void) |
Destructor. | |
virtual void | bind (TAO_EC_ProxyPushConsumer *consumer)=0 |
virtual void | unbind (TAO_EC_ProxyPushConsumer *consumer)=0 |
virtual void | connected (TAO_EC_ProxyPushSupplier *supplier)=0 |
virtual void | reconnected (TAO_EC_ProxyPushSupplier *supplier)=0 |
virtual void | disconnected (TAO_EC_ProxyPushSupplier *supplier)=0 |
virtual void | shutdown (void)=0 |
The event channel is shutting down. | |
virtual void | push (const RtecEventComm::EventSet &event, TAO_EC_ProxyPushConsumer *consumer)=0 |
virtual void | push_scheduled_event (RtecEventComm::EventSet &event, const TAO_EC_QOS_Info &event_info)=0 |
virtual CORBA::ULong | _incr_refcnt (void)=0 |
virtual CORBA::ULong | _decr_refcnt (void)=0 |
The strategy to filter close to the supplier.
After an event is received by the a ProxyPushConsumer it must be dispatched to the right set of ProxyPushSuppliers; determining this set is the task of this class. Notice that this is in fact a filter, and enforces (in part) the subscriptions and publications of the Event Service clients. Several implementations are possible:
TAO_EC_Supplier_Filter::~TAO_EC_Supplier_Filter | ( | void | ) | [virtual] |
Destructor.
virtual CORBA::ULong TAO_EC_Supplier_Filter::_decr_refcnt | ( | void | ) | [pure virtual] |
Implemented in TAO_EC_Per_Supplier_Filter, and TAO_EC_Trivial_Supplier_Filter.
virtual CORBA::ULong TAO_EC_Supplier_Filter::_incr_refcnt | ( | void | ) | [pure virtual] |
Increment and decrement the reference count, locking must be provided by the user.
Implemented in TAO_EC_Per_Supplier_Filter, and TAO_EC_Trivial_Supplier_Filter.
virtual void TAO_EC_Supplier_Filter::bind | ( | TAO_EC_ProxyPushConsumer * | consumer | ) | [pure 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.
Implemented in TAO_EC_Per_Supplier_Filter, and TAO_EC_Trivial_Supplier_Filter.
virtual void TAO_EC_Supplier_Filter::connected | ( | TAO_EC_ProxyPushSupplier * | supplier | ) | [pure virtual] |
Concrete implementations can use this methods to keep track of the consumers interested in this events.
Implemented in TAO_EC_Per_Supplier_Filter, and TAO_EC_Trivial_Supplier_Filter.
virtual void TAO_EC_Supplier_Filter::disconnected | ( | TAO_EC_ProxyPushSupplier * | supplier | ) | [pure virtual] |
Implemented in TAO_EC_Per_Supplier_Filter, and TAO_EC_Trivial_Supplier_Filter.
virtual void TAO_EC_Supplier_Filter::push | ( | const RtecEventComm::EventSet & | event, |
TAO_EC_ProxyPushConsumer * | consumer | ||
) | [pure virtual] |
The ProxyPushConsumer delegates on this class to actually send the event.
Implemented in TAO_EC_Per_Supplier_Filter, and TAO_EC_Trivial_Supplier_Filter.
virtual void TAO_EC_Supplier_Filter::push_scheduled_event | ( | RtecEventComm::EventSet & | event, |
const TAO_EC_QOS_Info & | event_info | ||
) | [pure virtual] |
Events are first scheduled by the TAO_EC_Scheduling_Strategy, and then pushed through this class again.
Implemented in TAO_EC_Per_Supplier_Filter, and TAO_EC_Trivial_Supplier_Filter.
virtual void TAO_EC_Supplier_Filter::reconnected | ( | TAO_EC_ProxyPushSupplier * | supplier | ) | [pure virtual] |
Implemented in TAO_EC_Per_Supplier_Filter, and TAO_EC_Trivial_Supplier_Filter.
virtual void TAO_EC_Supplier_Filter::shutdown | ( | void | ) | [pure virtual] |
The event channel is shutting down.
Implemented in TAO_EC_Per_Supplier_Filter, and TAO_EC_Trivial_Supplier_Filter.
virtual void TAO_EC_Supplier_Filter::unbind | ( | TAO_EC_ProxyPushConsumer * | consumer | ) | [pure 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.
Implemented in TAO_EC_Per_Supplier_Filter, and TAO_EC_Trivial_Supplier_Filter.