#include <EC_Trivial_Supplier_Filter.h>
Inheritance diagram for TAO_EC_Trivial_Supplier_Filter:
Public Member Functions | |
TAO_EC_Trivial_Supplier_Filter (TAO_EC_Event_Channel_Base *ec) | |
Constructor. | |
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. | |
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) |
Private Attributes | |
TAO_EC_Event_Channel_Base * | event_channel_ |
The event channel, used to locate the set of consumers. |
This strategy does no filtering, it is useful for backends of the CosEventChannel, testing and broadcasters; it uses the ConsumerAdmin to find all the consumers and pushes the event to all of them.
Definition at line 47 of file EC_Trivial_Supplier_Filter.h.
TAO_BEGIN_VERSIONED_NAMESPACE_DECL TAO_EC_Trivial_Supplier_Filter::TAO_EC_Trivial_Supplier_Filter | ( | TAO_EC_Event_Channel_Base * | ec | ) |
Constructor.
Definition at line 18 of file EC_Trivial_Supplier_Filter.cpp.
00019 : event_channel_ (ec) 00020 { 00021 }
CORBA::ULong TAO_EC_Trivial_Supplier_Filter::_decr_refcnt | ( | void | ) | [virtual] |
CORBA::ULong TAO_EC_Trivial_Supplier_Filter::_incr_refcnt | ( | void | ) | [virtual] |
Increment and decrement the reference count, locking must be provided by the user.
Implements TAO_EC_Supplier_Filter.
Definition at line 73 of file EC_Trivial_Supplier_Filter.cpp.
void TAO_EC_Trivial_Supplier_Filter::bind | ( | TAO_EC_ProxyPushConsumer * | consumer | ) | [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.
Definition at line 24 of file EC_Trivial_Supplier_Filter.cpp.
void TAO_EC_Trivial_Supplier_Filter::connected | ( | TAO_EC_ProxyPushSupplier * | supplier | ) | [virtual] |
Concrete implementations can use this methods to keep track of the consumers interested in this events.
Implements TAO_EC_Supplier_Filter.
Definition at line 34 of file EC_Trivial_Supplier_Filter.cpp.
void TAO_EC_Trivial_Supplier_Filter::disconnected | ( | TAO_EC_ProxyPushSupplier * | supplier | ) | [virtual] |
void TAO_EC_Trivial_Supplier_Filter::push | ( | const RtecEventComm::EventSet & | event, | |
TAO_EC_ProxyPushConsumer * | consumer | |||
) | [virtual] |
The ProxyPushConsumer delegates on this class to actually send the event.
Implements TAO_EC_Supplier_Filter.
Definition at line 54 of file EC_Trivial_Supplier_Filter.cpp.
References event_channel_, TAO_EC_Scheduling_Strategy::schedule_event(), and TAO_EC_Event_Channel_Base::scheduling_strategy().
00056 { 00057 TAO_EC_Scheduling_Strategy* scheduling_strategy = 00058 this->event_channel_->scheduling_strategy (); 00059 scheduling_strategy->schedule_event (event, 00060 consumer, 00061 this); 00062 }
void TAO_EC_Trivial_Supplier_Filter::push_scheduled_event | ( | RtecEventComm::EventSet & | event, | |
const TAO_EC_QOS_Info & | event_info | |||
) | [virtual] |
Events are first scheduled by the TAO_EC_Scheduling_Strategy, and then pushed through this class again.
Implements TAO_EC_Supplier_Filter.
Definition at line 65 of file EC_Trivial_Supplier_Filter.cpp.
References event_channel_, and TAO_EC_Event_Channel_Base::for_each_consumer().
00067 { 00068 TAO_EC_Filter_Worker worker (event, event_info); 00069 this->event_channel_->for_each_consumer (&worker); 00070 }
void TAO_EC_Trivial_Supplier_Filter::reconnected | ( | TAO_EC_ProxyPushSupplier * | supplier | ) | [virtual] |
void TAO_EC_Trivial_Supplier_Filter::shutdown | ( | void | ) | [virtual] |
The event channel is shutting down.
Implements TAO_EC_Supplier_Filter.
Definition at line 49 of file EC_Trivial_Supplier_Filter.cpp.
void TAO_EC_Trivial_Supplier_Filter::unbind | ( | TAO_EC_ProxyPushConsumer * | consumer | ) | [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.
Definition at line 29 of file EC_Trivial_Supplier_Filter.cpp.
The event channel, used to locate the set of consumers.
Definition at line 69 of file EC_Trivial_Supplier_Filter.h.
Referenced by push(), and push_scheduled_event().