Main Page | Namespace List | Class Hierarchy | Class List | Directories | File List | Namespace Members | Class Members | File Members

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 ()
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.

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.

References OmniEvents::ProxyManager::activate().

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

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

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

Definition at line 66 of file ProxyPullConsumer.cc.

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

void OmniEvents::ProxyPullConsumerManager::disconnect  ) 
 

Send disconnect_pull_supplier() to all connected PullSuppliers.

Definition at line 94 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 84 of file ProxyPullConsumer.cc.

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


Member Data Documentation

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:
Generated on Fri Aug 26 20:56:16 2005 for OmniEvents by  doxygen 1.4.3-20050530