OmniEvents
OmniEvents::ProxyPullConsumerManager Class Reference

#include <ProxyPullConsumer.h>

Inheritance diagram for OmniEvents::ProxyPullConsumerManager:
Collaboration diagram for OmniEvents::ProxyPullConsumerManager:

Public Member Functions

PortableServer::Servant incarnate (const PortableServer::ObjectId &oid, PortableServer::POA_ptr poa)
 
 ProxyPullConsumerManager (PortableServer::POA_ptr parentPoa, list< CORBA::Any * > &q)
 
 ~ProxyPullConsumerManager ()
 
OMNIEVENTS__DEBUG_REF_COUNTS__DECL CosEventChannelAdmin::ProxyPullConsumer_ptr createObject ()
 
void collect ()
 Collects events that have arrived at connected proxies.
 
void triggerRequest ()
 For each connected proxy, if there is no request in progress, send a new request to the current operation (pull or try_pull).
 
void disconnect ()
 Send disconnect_pull_supplier() to all connected PullSuppliers.
 
- Public Member Functions inherited from OmniEvents::ProxyManager
void etherealize (const PortableServer::ObjectId &oid, PortableServer::POA_ptr adapter, PortableServer::Servant serv, CORBA::Boolean cleanup_in_progress, CORBA::Boolean remaining_activations)
 Implements etherealize() method from ServantActivator interface.
 
void reincarnate (const PersistNode &node)
 Re-create servants from information saved in the log file.
 
void output (ostream &os)
 Save this object's state to a stream.
 
- Public Member Functions inherited from OmniEvents::Servant
virtual PortableServer::POA_ptr _default_POA ()
 
virtual ~Servant ()
 

Private Attributes

list< CORBA::Any * > & _queue
 

Additional Inherited Members

- Protected Member Functions inherited from OmniEvents::ProxyManager
 ProxyManager (PortableServer::POA_ptr poa)
 
virtual ~ProxyManager ()
 
void activate (const char *name)
 Creates the Proxy-type's POA, and registers this object as its ServantManager.
 
- Protected Member Functions inherited from OmniEvents::Servant
 Servant (PortableServer::POA_ptr poa)
 
void activateObjectWithId (const char *oidStr)
 Calls activate_object_with_id() to activate this servant in its POA.
 
void deactivateObject ()
 Calls deactivate_object() to deactivate this servant in its POA.
 
- Protected Attributes inherited from OmniEvents::ProxyManager
set< Proxy * > _servants
 The set of all active Proxies in this object's _managedPoa.
 
PortableServer::POA_var _managedPoa
 The POA owned & managed by this object.
 
- Protected Attributes inherited from OmniEvents::Servant
PortableServer::POA_var _poa
 

Detailed Description

Definition at line 49 of file ProxyPullConsumer.h.

Constructor & Destructor Documentation

◆ ProxyPullConsumerManager()

OmniEvents::ProxyPullConsumerManager::ProxyPullConsumerManager ( PortableServer::POA_ptr  parentPoa,
list< CORBA::Any * > &  q 
)

Definition at line 48 of file ProxyPullConsumer.cc.

References OmniEvents::ProxyManager::activate().

◆ ~ProxyPullConsumerManager()

OmniEvents::ProxyPullConsumerManager::~ProxyPullConsumerManager ( )

Definition at line 58 of file ProxyPullConsumer.cc.

References DB.

Member Function Documentation

◆ collect()

void OmniEvents::ProxyPullConsumerManager::collect ( )

Collects events that have arrived at connected proxies.

For each proxy:

  • If an exception has arrived, increment the exception count, and switch to the other operation (pull/try_pull).
  • If the exception count is 4+, then deactivate this object.
  • If a method has returned, then decide whether we have an event (hasEvent). If so, the read the event and push it onto the queue.

Should be called BEFORE triggerRequest().

Definition at line 74 of file ProxyPullConsumer.cc.

References OmniEvents::ProxyManager::_servants, OmniEvents::ProxyPullConsumer_i::collect(), and OmniEvents::createNarrowedReference().

◆ createObject()

CosEventChannelAdmin::ProxyPullConsumer_ptr OmniEvents::ProxyPullConsumerManager::createObject ( )

◆ disconnect()

void OmniEvents::ProxyPullConsumerManager::disconnect ( )

Send disconnect_pull_supplier() to all connected PullSuppliers.

Definition at line 94 of file ProxyPullConsumer.cc.

References OmniEvents::ProxyManager::_servants, OmniEvents::createNarrowedReference(), and OmniEvents::ProxyPullConsumer_i::disconnect_pull_consumer().

Referenced by OmniEvents::SupplierAdmin_i::disconnect().

◆ incarnate()

PortableServer::Servant OmniEvents::ProxyPullConsumerManager::incarnate ( const PortableServer::ObjectId &  oid,
PortableServer::POA_ptr  poa 
)

◆ triggerRequest()

void OmniEvents::ProxyPullConsumerManager::triggerRequest ( )

For each connected proxy, if there is no request in progress, send a new request to the current operation (pull or try_pull).

Should be called AFTER collect().

Definition at line 84 of file ProxyPullConsumer.cc.

References OmniEvents::ProxyManager::_servants, OmniEvents::createNarrowedReference(), and OmniEvents::ProxyPullConsumer_i::triggerRequest().

Member Data Documentation

◆ _queue

list<CORBA::Any*>& OmniEvents::ProxyPullConsumerManager::_queue
private

Definition at line 89 of file ProxyPullConsumer.h.

Referenced by incarnate().


The documentation for this class was generated from the following files: