org.eso.ias.dasu

Members list

Type members

Classlikes

abstract class Dasu(val dasuIdentifier: Identifier, val autoSendTimeInterval: Integer, val validityThreshold: Integer) extends InputsListener

The Distributed Alarm System Unit (DASU).

The Distributed Alarm System Unit (DASU).

The DASU, once notified of new inputs received from the BSDB (or other sources), forwards the IASIOs to the ASCEs to produce the output. If no new inputs arrived the DASU generates the output anyhow to notify that the DASU is alive. At a first glance it seems enough to check the validity of the last set of inputs to assign the validity of the output.

The DASU is initialized in the constructor: to let it start processing events, the start() method must be called.

The DASU must update the output even if it does not receive any input to refresh the output and send it to the BSDB. The automatic refresh of the output when no new inputs arrive is not active by default but need to be activated by calling enableAutoRefreshOfOutput(true).

Newly received inputs are immediately processed unless they arrive so often to need the CPU running at 100%. In this case the DASU delayed the evaluation of the output collecting the inputs until the throttling time interval elapses.

Value parameters

autoSendTimeInterval

the refresh rate (seconds) to automatically re-send the last calculated output even if it did not change

dasuIdentifier

the identifier of the DASU

validityThreshold

the max delay (secs) before declaring an input unreliable

Attributes

Constructor

create a DASU with the given identifier

Companion
object
Supertypes
class Object
trait Matchable
class Any
Known subtypes
class DasuImpl
class DasuMock
object Dasu

Companion object

Companion object

Attributes

Companion
class
Supertypes
class Object
trait Matchable
class Any
Self type
Dasu.type
class DasuImpl(dasuIdentifier: Identifier, dasuDao: DasuDao, outputPublisher: OutputPublisher, inputSubscriber: InputSubscriber, autoSendTimeInterval: Integer, validityThreshold: Integer) extends Dasu

The implementation of the DASU.

The implementation of the DASU.

A DASU normally has 2 threads running:

  • the automatic sending of the output when no new input arrives or the output did not change
  • a thread for the throttling to avoid that processing too many inputs takes 100% CPU

Value parameters

autoSendTimeInterval

the time (seconds) to automatically resend the last calculated

dasuDao

The CDB configuration of the DASU

dasuIdentifier

the identifier of the DASU

inputSubscriber

the subscriber getting events to be processed

outputPublisher

the publisher to send the output

validityThreshold

the max delay (secs) before declaring an input unreliable

Attributes

Companion
object
Supertypes
class Dasu
class Object
trait Matchable
class Any
object DasuImpl

Attributes

Companion
class
Supertypes
class Object
trait Matchable
class Any
Self type
DasuImpl.type
class DasuStatistics(val dasuId: String) extends StatsCollectorBase

StasCollector generates and publish statistics of the generation of the output by the DASU.

StasCollector generates and publish statistics of the generation of the output by the DASU.

The method updateStats is expected to be calles after each generation of the output by the DASU.

Value parameters

dasuId:

the ID of the DASU

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any

Companion object with definitions of constants

Companion object with definitions of constants

Attributes

Companion
class
Supertypes
class Object
trait Matchable
class Any
Self type
abstract class StatsCollectorBase(id: String, timeInterval: Long)

Base class for generating statistics at definite time intervals

Base class for generating statistics at definite time intervals

Value parameters

id

The identifer of the generator of istatistics

timeInterval

The time interval to generate statistics (minutes)

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any
Known subtypes

Attributes

Companion
class
Supertypes
class Object
trait Matchable
class Any
Self type