#include <ProxyPushConsumer.h>
Inheritance diagram for OmniEvents::ProxyPushConsumer_i:
Public Member Functions | |
void | connect_push_supplier (CosEventComm::PushSupplier_ptr pushSupplier) |
If pushSupplier is provided, then it is stored in _connections. | |
void | disconnect_push_consumer () |
We may not have a record of the supplier, so this method must accept calls from any supplier without complaint. | |
void | push (const CORBA::Any &event) |
Accepts events from any supplier, not just those stored in _connections. | |
ProxyPushConsumer_i (PortableServer::POA_ptr parentPoa, list< CORBA::Any * > &q, ConsumerAdmin_i &consumerAdmin) | |
virtual | ~ProxyPushConsumer_i () |
void | trigger () |
CosEventChannelAdmin::ProxyPushConsumer_ptr | createObject () |
Constructs a new object. | |
void | disconnect () |
Send disconnect_push_supplier() to all connected PushSuppliers. | |
void | reincarnate (const PersistNode &node) |
Re-create all servants from information saved in the log file. | |
void | output (ostream &os) const |
Save this object's state to a stream. | |
Private Types | |
typedef map< string, Connection * > | Connections_t |
Private Member Functions | |
string | currentObjectId () const |
Private Attributes | |
Connections_t | _connections |
CORBA::String_var | _channelName |
ConsumerAdmin_i & | _consumerAdmin |
list< CORBA::Any * > & | _queue |
bool | _useLocalQueue |
Switch between RT/chunked modes. | |
Classes | |
struct | Connection |
All objects are implemented by a single instance of this servant class. This enables us to deal statelessly with anonymous connections (where connect_push_supplier() is called with a NIL callback reference).
Definition at line 60 of file ProxyPushConsumer.h.
|
Definition at line 133 of file ProxyPushConsumer.h. |
|
Definition at line 116 of file ProxyPushConsumer.cc. References _channelName, _consumerAdmin, OmniEvents::Servant::_poa, and DB. |
|
Definition at line 178 of file ProxyPushConsumer.cc. References _connections, _consumerAdmin, and DB. |
|
If pushSupplier is provided, then it is stored in _connections. Otherwise this method does nothing. Definition at line 34 of file ProxyPushConsumer.cc. References _channelName, _connections, currentObjectId(), OmniEvents::Orb::deferredRequest(), OmniEvents::omniEventsLog::exists(), OmniEvents::Orb::inst(), OmniEvents::WriteLock::os, and OmniEvents::ProxyPushConsumer_i::Connection::output(). |
|
Constructs a new object. This method is almost completely stateless. It makes a new objectId, and returns it to the caller. But, only when it's USED the first time (connect_push_consumer) do we store it in _connections. (Note, The POA doesn't store objects either.) Definition at line 194 of file ProxyPushConsumer.cc. References OmniEvents::Servant::_poa. Referenced by OmniEvents::SupplierAdmin_i::obtain_push_consumer(). |
|
Definition at line 295 of file ProxyPushConsumer.cc. References DB, and OmniEvents::Orb::inst(). Referenced by connect_push_supplier(), and disconnect_push_consumer(). |
|
Send disconnect_push_supplier() to all connected PushSuppliers.
Definition at line 203 of file ProxyPushConsumer.cc. References _connections, OmniEvents::Orb::deferredRequest(), and OmniEvents::Orb::inst(). Referenced by OmniEvents::SupplierAdmin_i::disconnect(). |
|
We may not have a record of the supplier, so this method must accept calls from any supplier without complaint.
Definition at line 71 of file ProxyPushConsumer.cc. References _channelName, _connections, currentObjectId(), DB, OmniEvents::Orb::deferredRequest(), OmniEvents::omniEventsLog::exists(), OmniEvents::Orb::inst(), and OmniEvents::WriteLock::os. |
|
Save this object's state to a stream.
Definition at line 284 of file ProxyPushConsumer.cc. References _connections. Referenced by OmniEvents::ProxyPushConsumer_i::Connection::callback(), and OmniEvents::SupplierAdmin_i::output(). |
|
Accepts events from any supplier, not just those stored in _connections.
Definition at line 102 of file ProxyPushConsumer.cc. References _consumerAdmin, _queue, _useLocalQueue, and OmniEvents::ConsumerAdmin_i::send(). |
|
Re-create all servants from information saved in the log file.
Definition at line 222 of file ProxyPushConsumer.cc. References _channelName, OmniEvents::PersistNode::_child, _connections, OmniEvents::Servant::_poa, and DB. Referenced by OmniEvents::SupplierAdmin_i::reincarnate(). |
|
Definition at line 86 of file ProxyPushConsumer.h. References _useLocalQueue. |
|
Definition at line 135 of file ProxyPushConsumer.h. Referenced by connect_push_supplier(), disconnect_push_consumer(), ProxyPushConsumer_i(), and reincarnate(). |
|
Definition at line 134 of file ProxyPushConsumer.h. Referenced by connect_push_supplier(), disconnect(), disconnect_push_consumer(), output(), reincarnate(), and ~ProxyPushConsumer_i(). |
|
Definition at line 136 of file ProxyPushConsumer.h. Referenced by ProxyPushConsumer_i(), push(), and ~ProxyPushConsumer_i(). |
|
Definition at line 137 of file ProxyPushConsumer.h. Referenced by push(). |
|
Switch between RT/chunked modes.
Definition at line 138 of file ProxyPushConsumer.h. |