TAO_RTEvent  2.0.8
Public Member Functions
TAO_EC_Supplier_Filter Class Reference

The strategy to filter close to the supplier. More...

#include <EC_Supplier_Filter.h>

Inheritance diagram for TAO_EC_Supplier_Filter:
Inheritance graph
[legend]

List of all members.

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

Detailed Description

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:


Constructor & Destructor Documentation

TAO_EC_Supplier_Filter::~TAO_EC_Supplier_Filter ( void  ) [virtual]

Destructor.


Member Function Documentation

virtual CORBA::ULong TAO_EC_Supplier_Filter::_decr_refcnt ( void  ) [pure virtual]
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]
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]
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.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines