|
TAO_RTEvent
2.3.4
|
A reactive observer strategy. More...
#include <EC_ObserverStrategy.h>


Public Member Functions | |
| TAO_EC_Reactive_ObserverStrategy (TAO_EC_Event_Channel_Base *ec, ACE_Lock *lock) | |
| Constructor. More... | |
| virtual | ~TAO_EC_Reactive_ObserverStrategy (void) |
| Destructor. More... | |
Public Member Functions inherited from TAO_EC_Basic_ObserverStrategy | |
| TAO_EC_Basic_ObserverStrategy (TAO_EC_Event_Channel_Base *ec, ACE_Lock *lock) | |
| Constructor. More... | |
| virtual | ~TAO_EC_Basic_ObserverStrategy (void) |
| Destructor. More... | |
| virtual RtecEventChannelAdmin::Observer_Handle | append_observer (RtecEventChannelAdmin::Observer_ptr) |
| The basic methods to support the EC strategies. More... | |
| virtual void | remove_observer (RtecEventChannelAdmin::Observer_Handle) |
| virtual void | connected (TAO_EC_ProxyPushConsumer *) |
| virtual void | disconnected (TAO_EC_ProxyPushConsumer *) |
| virtual void | connected (TAO_EC_ProxyPushSupplier *) |
| virtual void | disconnected (TAO_EC_ProxyPushSupplier *) |
Public Member Functions inherited from TAO_EC_ObserverStrategy | |
| virtual | ~TAO_EC_ObserverStrategy (void) |
| Destructor. More... | |
Protected Member Functions | |
| virtual void | consumer_qos_update (TAO_EC_ProxyPushSupplier *supplier) |
| Helpers. More... | |
| virtual void | supplier_qos_update (TAO_EC_ProxyPushConsumer *consumer) |
| Recompute EC supplier publications and send them out to all observers. More... | |
| int | create_observer_map (Observer_Map &map) |
| void | observer_not_exists (Observer_Entry &observer) |
| The observer doesn't exist anymore. More... | |
Protected Member Functions inherited from TAO_EC_Basic_ObserverStrategy | |
| void | fill_qos (RtecEventChannelAdmin::ConsumerQOS &qos) |
| Compute consumer QOS. More... | |
| void | fill_qos (RtecEventChannelAdmin::SupplierQOS &qos) |
| Compute supplier QOS. More... | |
| int | create_observer_list (RtecEventChannelAdmin::Observer_var *&lst) |
Additional Inherited Members | |
Public Types inherited from TAO_EC_Basic_ObserverStrategy | |
| typedef ACE_Map_Manager< RtecEventChannelAdmin::Observer_Handle, Observer_Entry, ACE_Null_Mutex > | Observer_Map |
| typedef ACE_Map_Iterator< RtecEventChannelAdmin::Observer_Handle, Observer_Entry, ACE_Null_Mutex > | Observer_Map_Iterator |
| typedef ACE_RB_Tree< RtecEventComm::EventHeader, int, Header_Compare, ACE_Null_Mutex > | Headers |
| typedef ACE_RB_Tree_Iterator< RtecEventComm::EventHeader, int, Header_Compare, ACE_Null_Mutex > | HeadersIterator |
Protected Attributes inherited from TAO_EC_Basic_ObserverStrategy | |
| TAO_EC_Event_Channel_Base * | event_channel_ |
| The event channel. More... | |
| ACE_Lock * | lock_ |
| The lock. More... | |
| RtecEventChannelAdmin::Observer_Handle | handle_generator_ |
| Observer_Map | observers_ |
| Keep the set of Observers. More... | |
A reactive observer strategy.
This class simply keeps the information about the current list of observers, whenever the list of consumers and/or suppliers changes in queries the EC, computes the global subscription and/or publication list and sends the update message to all the observers. When an observer isn't reachable it is removed from the observer list.
It assumes ownership of the <lock>, but not of the Event_Channel.
| TAO_EC_Reactive_ObserverStrategy::TAO_EC_Reactive_ObserverStrategy | ( | TAO_EC_Event_Channel_Base * | ec, |
| ACE_Lock * | lock | ||
| ) |
Constructor.
|
virtual |
Destructor.
|
protectedvirtual |
Helpers.
Recompute EC consumer subscriptions and send them out to all observers.
Reimplemented from TAO_EC_Basic_ObserverStrategy.
|
protected |
Copies all current observers into a map and passes it back to the caller through map.
|
protected |
The observer doesn't exist anymore.
|
protectedvirtual |
Recompute EC supplier publications and send them out to all observers.
Reimplemented from TAO_EC_Basic_ObserverStrategy.
1.8.9.1