OmniEvents::ProxyPullConsumerManager Class Reference

#include <ProxyPullConsumer.h>

Inheritance diagram for OmniEvents::ProxyPullConsumerManager:

Inheritance graph
[legend]
Collaboration diagram for OmniEvents::ProxyPullConsumerManager:

Collaboration graph
[legend]
List of all members.

Public Member Functions

PortableServer::Servant incarnate (const PortableServer::ObjectId &oid, PortableServer::POA_ptr poa)
 ProxyPullConsumerManager (PortableServer::POA_ptr parentPoa, list< CORBA::Any * > &q)
 ~ProxyPullConsumerManager ()
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.

Private Attributes

list< CORBA::Any * > & _queue

Detailed Description

Definition at line 49 of file ProxyPullConsumer.h.


Constructor & Destructor Documentation

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

Definition at line 48 of file ProxyPullConsumer.cc.

OmniEvents::ProxyPullConsumerManager::~ProxyPullConsumerManager  ) 
 

Definition at line 58 of file ProxyPullConsumer.cc.

References DB.


Member Function Documentation

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 72 of file ProxyPullConsumer.cc.

References OmniEvents::ProxyManager::_servants.

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

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

Definition at line 64 of file ProxyPullConsumer.cc.

References OmniEvents::ProxyManager::_managedPoa.

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

void OmniEvents::ProxyPullConsumerManager::disconnect  ) 
 

Send disconnect_pull_supplier() to all connected PullSuppliers.

Definition at line 92 of file ProxyPullConsumer.cc.

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

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

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

Definition at line 37 of file ProxyPullConsumer.cc.

References OmniEvents::ProxyManager::_managedPoa, _queue, OmniEvents::ProxyManager::_servants, and DB.

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 82 of file ProxyPullConsumer.cc.

References OmniEvents::ProxyManager::_servants.

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


Member Data Documentation

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

Definition at line 88 of file ProxyPullConsumer.h.

Referenced by incarnate().


The documentation for this class was generated from the following files:
Generated on Mon Jan 9 03:53:10 2006 for OmniEvents by  doxygen 1.4.6