
Public Member Functions | |
| SynchroBuffer (long minWindowSize, long maxWindowSize, int windowGrowthFactor, int duplicatePolicy) | |
| SynchroBuffer () | |
| void | push (Object object) |
| void | push (Collection collection) |
| void | setSynchroBufferListener (SynchroBufferListener listener) |
| void | enable () |
| void | disable () |
| void | close () |
Static Public Attributes | |
| static final int | DUPLICATE_OK = 1 |
| static final int | DUPLICATE_REPLACE = 2 |
| static final int | DUPLICATE_DISCARD = 3 |
Private Member Functions | |
| void | init (long minSize, long maxSize, int growthFactor, int policy) |
| Thread | createCheckingThread () |
| long | fire () |
| boolean | isClosed () |
| void | setClosed (boolean value) |
| void | setFiring (boolean value) |
| boolean | isFiring () |
| boolean | isEmpty () |
| boolean | isEnabled () |
| void | setEnabled (boolean value) |
Private Attributes | |
| long | minWindowSize |
| long | maxWindowSize |
| int | windowGrowthFactor |
| int | duplicatePolicy |
| Thread | checkingThread |
| Boolean | closed = Boolean.FALSE |
| Boolean | firing = Boolean.FALSE |
| Boolean | enabled = Boolean.FALSE |
| SynchroBufferListener | listener = null |
| List | buffer = null |
Static Private Attributes | |
| static final Logger | LOGGER = Logger.getLogger(SynchroBuffer.class.getName()) |
A buffering utility class.
| cern::laser::util::buffer::SynchroBuffer::SynchroBuffer | ( | long | minWindowSize, | |
| long | maxWindowSize, | |||
| int | windowGrowthFactor, | |||
| int | duplicatePolicy | |||
| ) | [inline] |
Constructor.
| minWindowSize | the buffer window min size (msec) | |
| maxWindowSize | the buffer window max size (msec) | |
| windowGrowthFactor | the buffer window growth factor (size = minWindowSize + msg/sec x windowGrowthFactor) | |
| duplicatePolicy | the buffer object duplication policy |
References init().
| cern::laser::util::buffer::SynchroBuffer::SynchroBuffer | ( | ) | [inline] |
Default constructor. Initialisation is made via properties. It reads the configuration from the resource config file specified via the system property syncrobuffer.properties. If not defined, it looks for the default config file synchrobuffer-config.properties. System properties override the configuration loaded from the properties file. Configuration properties are :
References init().
| void cern::laser::util::buffer::SynchroBuffer::close | ( | ) | [inline] |
Close the buffer and deallocate resources.
References isEmpty(), isEnabled(), isFiring(), minWindowSize, and setClosed().
Referenced by cern::laser::util::buffer::SynchroBufferAdapter::close(), cern::laser::guiplatform::util::SearchProxyBuffer::close(), cern::laser::guiplatform::util::ProxyBuffer::close(), cern::laser::source::alarmsysteminterface::impl::AlarmSystemInterfaceProxy::close(), and cern::laser::business::cache::AlarmCacheListenerImpl::close().
| Thread cern::laser::util::buffer::SynchroBuffer::createCheckingThread | ( | ) | [inline, private] |
References buffer, fire(), isClosed(), isEmpty(), isEnabled(), maxWindowSize, minWindowSize, and windowGrowthFactor.
Referenced by init().
| void cern::laser::util::buffer::SynchroBuffer::disable | ( | ) | [inline] |
Disable the listener. Pushed object are kept in the buffer and delivered when the listener is enabled.
References setEnabled().
Referenced by cern::laser::util::buffer::SynchroBufferAdapter::disable(), cern::laser::guiplatform::util::SearchProxyBuffer::disable(), and cern::laser::guiplatform::util::ProxyBuffer::disable().
| void cern::laser::util::buffer::SynchroBuffer::enable | ( | ) | [inline] |
Enable the listener. The listener is disabled by default.
References setEnabled().
Referenced by cern::laser::guiplatform::explorer::ACChildrenMap::ACChildrenMap(), cern::laser::business::cache::AlarmCacheListenerImpl::AlarmCacheListenerImpl(), cern::laser::source::alarmsysteminterface::impl::AlarmSystemInterfaceProxy::AlarmSystemInterfaceProxy(), cern::laser::util::buffer::SynchroBufferAdapter::enable(), cern::laser::guiplatform::util::SearchProxyBuffer::enable(), and cern::laser::guiplatform::util::ProxyBuffer::enable().
| long cern::laser::util::buffer::SynchroBuffer::fire | ( | ) | [inline, private] |
References buffer, listener, cern::laser::util::buffer::SynchroBufferListener::pull(), and setFiring().
Referenced by createCheckingThread().
| void cern::laser::util::buffer::SynchroBuffer::init | ( | long | minSize, | |
| long | maxSize, | |||
| int | growthFactor, | |||
| int | policy | |||
| ) | [inline, private] |
References buffer, checkingThread, createCheckingThread(), duplicatePolicy, maxWindowSize, minWindowSize, and windowGrowthFactor.
Referenced by SynchroBuffer().
| boolean cern::laser::util::buffer::SynchroBuffer::isClosed | ( | ) | [inline, private] |
References closed.
Referenced by createCheckingThread(), and push().
| boolean cern::laser::util::buffer::SynchroBuffer::isEmpty | ( | ) | [inline, private] |
References buffer.
Referenced by close(), and createCheckingThread().
| boolean cern::laser::util::buffer::SynchroBuffer::isEnabled | ( | ) | [inline, private] |
References enabled.
Referenced by close(), and createCheckingThread().
| boolean cern::laser::util::buffer::SynchroBuffer::isFiring | ( | ) | [inline, private] |
| void cern::laser::util::buffer::SynchroBuffer::push | ( | Collection | collection | ) | [inline] |
Push a collection of objects into the buffer.
| collection | the collection of objects to push |
References buffer, duplicatePolicy, isClosed(), and push().
| void cern::laser::util::buffer::SynchroBuffer::push | ( | Object | object | ) | [inline] |
Push an object into the buffer. If the duplicate policy is DUPLICATE_DISCARD the object is discarded if the buffer already contains it. If the duplicate policy is DUPLICATE_REPLACE the object replaces any previously pushed duplicated instance. The object is appended otherwise. Equals method is used to determine duplications.
| o | the object to push |
References buffer, duplicatePolicy, and isClosed().
Referenced by cern::laser::guiplatform::explorer::ACChildrenMap::addNode(), cern::laser::guiplatform::util::ProxyBuffer::onAlarm(), cern::laser::business::cache::AlarmCacheListenerImpl::onAlarmChange(), cern::laser::guiplatform::util::SearchProxyBuffer::onSearchAlarm(), cern::laser::util::buffer::SynchroBufferAdapter::push(), push(), cern::laser::source::alarmsysteminterface::impl::AlarmSystemInterfaceProxy::push(), and cern::laser::guiplatform::explorer::ACChildrenMap::removeNode().
| void cern::laser::util::buffer::SynchroBuffer::setClosed | ( | boolean | value | ) | [inline, private] |
| void cern::laser::util::buffer::SynchroBuffer::setEnabled | ( | boolean | value | ) | [inline, private] |
| void cern::laser::util::buffer::SynchroBuffer::setFiring | ( | boolean | value | ) | [inline, private] |
| void cern::laser::util::buffer::SynchroBuffer::setSynchroBufferListener | ( | SynchroBufferListener | listener | ) | [inline] |
Set the buffer consumer listener.
| listener | the listener |
Referenced by cern::laser::guiplatform::explorer::ACChildrenMap::ACChildrenMap(), cern::laser::business::cache::AlarmCacheListenerImpl::AlarmCacheListenerImpl(), cern::laser::source::alarmsysteminterface::impl::AlarmSystemInterfaceProxy::AlarmSystemInterfaceProxy(), cern::laser::guiplatform::util::ProxyBuffer::ProxyBuffer(), cern::laser::guiplatform::util::SearchProxyBuffer::SearchProxyBuffer(), and cern::laser::util::buffer::SynchroBufferAdapter::SynchroBufferAdapter().
List cern::laser::util::buffer::SynchroBuffer::buffer = null [private] |
The buffer
Referenced by createCheckingThread(), fire(), init(), isEmpty(), and push().
Thread cern::laser::util::buffer::SynchroBuffer::checkingThread [private] |
Referenced by init().
Boolean cern::laser::util::buffer::SynchroBuffer::closed = Boolean.FALSE [private] |
Referenced by isClosed(), and setClosed().
final int cern::laser::util::buffer::SynchroBuffer::DUPLICATE_DISCARD = 3 [static] |
Discards duplicated objects.
final int cern::laser::util::buffer::SynchroBuffer::DUPLICATE_OK = 1 [static] |
Allows object duplication.
final int cern::laser::util::buffer::SynchroBuffer::DUPLICATE_REPLACE = 2 [static] |
Replaces duplicated objects.
Boolean cern::laser::util::buffer::SynchroBuffer::enabled = Boolean.FALSE [private] |
Referenced by isEnabled(), and setEnabled().
Boolean cern::laser::util::buffer::SynchroBuffer::firing = Boolean.FALSE [private] |
Referenced by isFiring(), and setFiring().
SynchroBufferListener cern::laser::util::buffer::SynchroBuffer::listener = null [private] |
Referenced by fire().
final Logger cern::laser::util::buffer::SynchroBuffer::LOGGER = Logger.getLogger(SynchroBuffer.class.getName()) [static, private] |
long cern::laser::util::buffer::SynchroBuffer::maxWindowSize [private] |
Referenced by createCheckingThread(), and init().
long cern::laser::util::buffer::SynchroBuffer::minWindowSize [private] |
Referenced by close(), createCheckingThread(), and init().
Referenced by createCheckingThread(), and init().
1.6.2