alma::COUNTER::CounterSupplierImpl::CounterSupplierImpl Class Reference

Inheritance diagram for alma::COUNTER::CounterSupplierImpl::CounterSupplierImpl:
Inheritance graph
[legend]
Collaboration diagram for alma::COUNTER::CounterSupplierImpl::CounterSupplierImpl:
Collaboration graph
[legend]

List of all members.

Public Member Functions

void initialize (ContainerServices containerServices)
void execute () throws ComponentLifecycleException
void cleanUp ()
void aboutToAbort ()
ComponentStates componentState ()
String name ()
int sendBlocks (int initVal, int lastVal, int changeVal, float period) throws CouldntPerformActionEx

Static Public Attributes

static final String PROP_ASSERTION_MESSAGE = "CounterSupplierAssert"

Package Attributes

int eventCount = 0
volatile boolean flag = false

Private Attributes

ContainerServices m_containerServices
Logger m_logger
SimpleSupplier m_supplier = null

Detailed Description

CounterSupplier is a simple class that creates the "counter" notification channel, generates events, and then disconnects from the channel.

Author:
eallaert

Member Function Documentation

void alma::COUNTER::CounterSupplierImpl::CounterSupplierImpl::aboutToAbort (  )  [inline]

Called when due to some error condition the component is about to be forcefully removed some unknown amount of time later (usually not very much...).

The component should make an effort to die as neatly as possible.

Because of its urgency, this method will be called asynchronously to the execution of any other method of the component.

Implements alma::acs::component::ComponentLifecycle.

References cleanUp().

void alma::COUNTER::CounterSupplierImpl::CounterSupplierImpl::cleanUp (  )  [inline]

Called after the last functional call to the component has finished. The component should then orderly release resources etc.

Implements alma::acs::component::ComponentLifecycle.

References alma::acs::nc::SimpleSupplier::disconnect(), m_logger, and m_supplier.

Referenced by aboutToAbort().

ComponentStates alma::COUNTER::CounterSupplierImpl::CounterSupplierImpl::componentState (  )  [inline]
void alma::COUNTER::CounterSupplierImpl::CounterSupplierImpl::execute (  )  throws ComponentLifecycleException [inline]

Called after ComponentLifecycle#initialize(ContainerServices) to tell the component that it has to be ready to accept incoming functional calls any time.

Examples:

  • last-minute initializations for which initialize seemed too early
  • component could start actions which aren't triggered by any functional call, e.g. the Scheduler could start to rank SBs in a separate thread.

Must be implemented as a synchronous (blocking) call (can spawn threads though).

Implements alma::acs::component::ComponentLifecycle.

References m_logger.

void alma::COUNTER::CounterSupplierImpl::CounterSupplierImpl::initialize ( ContainerServices  containerServices  )  [inline]

Called to give the component time to initialize itself. For instance, the component could retrieve connections, read in configuration files/parameters, build up in-memory tables, ...

Called before execute(). In fact, this method might be called quite some time before functional requests can be sent to the component.

Must be implemented as a synchronous (blocking) call.

Parameters:
containerServices callback object for services provided by the container

Implements alma::acs::component::ComponentLifecycle.

References alma::acs::nc::SimpleSupplier::disconnect(), alma::acs::container::ContainerServicesBase::getLogger(), m_containerServices, m_logger, and m_supplier.

String alma::COUNTER::CounterSupplierImpl::CounterSupplierImpl::name (  )  [inline]
int alma::COUNTER::CounterSupplierImpl::CounterSupplierImpl::sendBlocks ( int  initVal,
int  lastVal,
int  changeVal,
float  period 
) throws CouldntPerformActionEx [inline]

Member Data Documentation

Total number of events that have been consumed.

Referenced by sendBlocks().

Referenced by sendBlocks().

Referenced by componentState(), initialize(), and name().

Referenced by cleanUp(), initialize(), and sendBlocks().

Referenced by sendBlocks().


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

Generated by  doxygen 1.6.2