#include <ProxyPullConsumer.h>
Inheritance diagram for OmniEvents::ProxyPullConsumer_i:
Public Methods | |
void | connect_pull_supplier (CosEventComm::PullSupplier_ptr pullSupplier) |
void | disconnect_pull_consumer () |
ProxyPullConsumer_i (PortableServer::POA_ptr poa, list< CORBA::Any * > &q) | |
~ProxyPullConsumer_i () | |
void | trigger () |
void | reincarnate (const string &oid, const PersistNode &node) |
Re-create a servant from information saved in the log file. More... | |
void | output (ostream &os) |
Save this object's state to a stream. More... | |
Private Types | |
enum | Mode { Pull = 0, TryPull = 1 } |
This proxy can call out in either pull() or try_pull() mode. More... | |
Private Attributes | |
CosEventComm::PullSupplier_var | _target |
list< CORBA::Any * > & | _queue |
int | _exceptionCount [2] |
Only when two consecutive exceptions have been received from each mode, do we consider the connection dead. More... |
Tries to get messages by using pull() then try_pull() method calls, but prefers pull(). Switches between pull() & try_pull() if it gets an exception. Only gives up when both methods have returned two consecutive exceptions.
Note, our own implementation of ProxyPullSupplier::pull() is very basic.
Definition at line 95 of file ProxyPullConsumer.h.
|
This proxy can call out in either pull() or try_pull() mode.
Definition at line 113 of file ProxyPullConsumer.h. |
|
Definition at line 135 of file ProxyPullConsumer.cc. References _exceptionCount, Pull, and TryPull. |
|
Definition at line 147 of file ProxyPullConsumer.cc. References DB. |
|
Definition at line 99 of file ProxyPullConsumer.cc. References OmniEvents::Proxy::_req, _target, and output(). Referenced by reincarnate(). |
|
Definition at line 112 of file ProxyPullConsumer.cc. References _target, DB, OmniEvents::Servant::deactivateObject(), OmniEvents::Proxy::eraseKey(), and IFELSE_OMNIORB4. Referenced by OmniEvents::ProxyPullConsumerManager::disconnect(). |
|
Save this object's state to a stream.
Implements OmniEvents::Proxy. Definition at line 251 of file ProxyPullConsumer.cc. References _target, and OmniEvents::Proxy::basicOutput(). Referenced by connect_pull_supplier(). |
|
Re-create a servant from information saved in the log file.
Implements OmniEvents::Proxy. Definition at line 239 of file ProxyPullConsumer.cc. References OmniEvents::Servant::activateObjectWithId(), OmniEvents::PersistNode::attrString(), and connect_pull_supplier(). |
|
Definition at line 152 of file ProxyPullConsumer.cc. References _exceptionCount, _queue, OmniEvents::Proxy::_req, _target, DB, OmniEvents::Servant::deactivateObject(), OmniEvents::Proxy::eraseKey(), IF_OMNIORB4, Pull, and TryPull. Referenced by OmniEvents::ProxyPullConsumerManager::trigger(). |
|
Only when two consecutive exceptions have been received from each mode, do we consider the connection dead.
Definition at line 118 of file ProxyPullConsumer.h. Referenced by ProxyPullConsumer_i(), and trigger(). |
|
Definition at line 110 of file ProxyPullConsumer.h. Referenced by trigger(). |
|
Definition at line 109 of file ProxyPullConsumer.h. Referenced by connect_pull_supplier(), disconnect_pull_consumer(), output(), and trigger(). |