Main Page | Modules | Namespace List | Class Hierarchy | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

LogConsumerActivator_Impl Class Reference
[LWLogging Service]

#include <LogConsumerActivator_Impl.h>

Collaboration diagram for LogConsumerActivator_Impl:

Collaboration graph
[legend]
List of all members.

Detailed Description

ServantActivator for LogConsumers.

ServantActivator implemenation for managing LogConsumer activations and deactivations. The LogConsumerActivator uses a least recently used strategy to evict LogConsumers and deactivate them. Eviction occurs when the number of active LogConsumer references exceeds the maximum queue size. The maximum queue size is set at runtime using b -BPconsumer_q_size=integer command line parameter ( Mandatory ).

This Activator is also an EvictionMngr. Instances of classes under the management of an EvictionMngr are responsible for telling the Mngr that it has received an invocation. This EvictionMngr uses the invocation message to place the Evictable's marker on the tail of the consumer que. The Consumer_Impl that was the least recently invoked upon will be the first choice for Eviction

Author
knoxy
Revision
1.3
Date
2004/10/24 01:35:54


Public Member Functions

 LogConsumerActivator_Impl (const unsigned long q_size, LogState &state)
virtual ~LogConsumerActivator_Impl ()
virtual PortableServer::Servant incarnate (const PortableServer::ObjectId &oid, PortableServer::POA_ptr adapter) throw (CORBA::SystemException, PortableServer::ForwardRequest)
 Override the PortableServer::ServantActivator operation.

virtual void etherealize (const PortableServer::ObjectId &oid, PortableServer::POA_ptr poa, PortableServer::Servant servant, CORBA::Boolean cleanup_in_progress, CORBA::Boolean activations_remain) throw (CORBA::SystemException)
 Override the PortableServer::ServantActivator operation.

virtual void invocation_active (const std::string &evictable_id)


Constructor & Destructor Documentation

LogConsumerActivator_Impl::LogConsumerActivator_Impl const unsigned long  q_size,
LogState state
 

ctor

Initializes all instance utililities

Parameters:
q_size - The size of the que for active LogConsumer.
state - The Log's LogState

virtual LogConsumerActivator_Impl::~LogConsumerActivator_Impl  )  [virtual]
 

dtor

Currently does nothing


Member Function Documentation

virtual void LogConsumerActivator_Impl::etherealize const PortableServer::ObjectId &  oid,
PortableServer::POA_ptr  poa,
PortableServer::Servant  servant,
CORBA::Boolean  cleanup_in_progress,
CORBA::Boolean  activations_remain
throw (CORBA::SystemException) [virtual]
 

Override the PortableServer::ServantActivator operation.

Called by the POA when an Object Reference is deactivated to facilitate cleaning up any state that might have been used by the Servant that was activated using the incarnate operation

Parameters:
oid - Reference to the Object Id of the object being deactivated
poa - The POA that owns the Object Id
servant - The servant that represented the object being deactivated
cleanup_in_progress - True if the POA is being deactivated
activations_remain - True if there are remaining requests on the object reference
Exceptions:
CORBA::SystemException 

virtual PortableServer::Servant LogConsumerActivator_Impl::incarnate const PortableServer::ObjectId &  oid,
PortableServer::POA_ptr  adapter
throw (CORBA::SystemException, PortableServer::ForwardRequest) [virtual]
 

Override the PortableServer::ServantActivator operation.

Called by the POA that this ServantManager is registered with to activate a servant for an individual Object Reference

Parameters:
oid - Reference to the ObjectId that the request was made on
adapter - The POA that owns the Object Id
Exceptions:
CORBA::SystemException 
ForwardRequest 

virtual void LogConsumerActivator_Impl::invocation_active const std::string &  evictable_id  )  [virtual]
 

Comply with the EvictionMngr contrac

Used by an Evictable to notify the EvictionMngr that the Evictable is servicing a request

Parameters:
evictable_id - The Evictable's unique identifier


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