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

cern::laser::util::buffer::SynchroBufferAdapter Class Reference

Collaboration diagram for cern::laser::util::buffer::SynchroBufferAdapter:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 SynchroBufferAdapter (SynchroBufferListener listener, SynchroBuffer buffer)
void push (Object object)
void push (Collection collection)
void enable ()
void disable ()
void close ()

Private Member Functions

SynchroBufferListener createSynchroBufferListener ()
void fire ()
Thread createPullingThread ()
void semNotify ()
void semWait ()
boolean isEmpty ()
boolean isEnabled ()
void setEnabled (boolean value)
boolean isClosed ()
void setClosed (boolean value)
void setFiring (boolean value)
boolean isFiring ()

Private Attributes

List queue
SynchroBuffer adaptee
SynchroBufferListener listener
Thread pullingThread
Boolean enabled = Boolean.TRUE
Boolean closed = Boolean.FALSE
Boolean firing = Boolean.FALSE
Boolean semaphore = Boolean.FALSE

Static Private Attributes

final Logger LOGGER = Logger.getLogger(SynchroBufferAdapter.class.getName())

Detailed Description

A buffering utility class. It is an adapter for a SynchroBuffer instance allowing to detach the buffer consumer thread from the SynchroBuffer itself for slow consumers.

Author:
F.Calderini


Constructor & Destructor Documentation

cern::laser::util::buffer::SynchroBufferAdapter::SynchroBufferAdapter SynchroBufferListener  listener,
SynchroBuffer  buffer
[inline]
 

Constructor. The listener is disabled by default.

Parameters:
listener the buffer listener
buffer the SynchroBuffer instance


Member Function Documentation

void cern::laser::util::buffer::SynchroBufferAdapter::close  )  [inline]
 

Close the buffer and deallocate resources.

Thread cern::laser::util::buffer::SynchroBufferAdapter::createPullingThread  )  [inline, private]
 

Thread method.

SynchroBufferListener cern::laser::util::buffer::SynchroBufferAdapter::createSynchroBufferListener  )  [inline, private]
 

SynchroBufferListener method.

void cern::laser::util::buffer::SynchroBufferAdapter::disable  )  [inline]
 

Disable the listener. Pushed object are kept in the buffer and delivered when the listener is enabled.

void cern::laser::util::buffer::SynchroBufferAdapter::enable  )  [inline]
 

Enable the listener. The listener is disabled by default.

void cern::laser::util::buffer::SynchroBufferAdapter::fire  )  [inline, private]
 

boolean cern::laser::util::buffer::SynchroBufferAdapter::isClosed  )  [inline, private]
 

boolean cern::laser::util::buffer::SynchroBufferAdapter::isEmpty  )  [inline, private]
 

boolean cern::laser::util::buffer::SynchroBufferAdapter::isEnabled  )  [inline, private]
 

boolean cern::laser::util::buffer::SynchroBufferAdapter::isFiring  )  [inline, private]
 

void cern::laser::util::buffer::SynchroBufferAdapter::push Collection  collection  )  [inline]
 

Push a collection of objects into the buffer.

Parameters:
collection the collection of objects to push

void cern::laser::util::buffer::SynchroBufferAdapter::push Object  object  )  [inline]
 

Push an object into the buffer.

Parameters:
object the object to push

void cern::laser::util::buffer::SynchroBufferAdapter::semNotify  )  [inline, private]
 

void cern::laser::util::buffer::SynchroBufferAdapter::semWait  )  [inline, private]
 

void cern::laser::util::buffer::SynchroBufferAdapter::setClosed boolean  value  )  [inline, private]
 

void cern::laser::util::buffer::SynchroBufferAdapter::setEnabled boolean  value  )  [inline, private]
 

void cern::laser::util::buffer::SynchroBufferAdapter::setFiring boolean  value  )  [inline, private]
 


Member Data Documentation

SynchroBuffer cern::laser::util::buffer::SynchroBufferAdapter::adaptee [private]
 

Boolean cern::laser::util::buffer::SynchroBufferAdapter::closed = Boolean.FALSE [private]
 

Boolean cern::laser::util::buffer::SynchroBufferAdapter::enabled = Boolean.TRUE [private]
 

Boolean cern::laser::util::buffer::SynchroBufferAdapter::firing = Boolean.FALSE [private]
 

SynchroBufferListener cern::laser::util::buffer::SynchroBufferAdapter::listener [private]
 

final Logger cern::laser::util::buffer::SynchroBufferAdapter::LOGGER = Logger.getLogger(SynchroBufferAdapter.class.getName()) [static, private]
 

Thread cern::laser::util::buffer::SynchroBufferAdapter::pullingThread [private]
 

List cern::laser::util::buffer::SynchroBufferAdapter::queue [private]
 

Boolean cern::laser::util::buffer::SynchroBufferAdapter::semaphore = Boolean.FALSE [private]
 


The documentation for this class was generated from the following file:
Generated on Thu Apr 30 03:09:49 2009 for ACS Java API by doxygen 1.3.8