InOut

org.eso.ias.types.InOut
See theInOut companion object
case class InOut[A](value: Option[_ >: A], id: Identifier, mode: OperationalMode, fromIasValueValidity: Option[Validity], fromInputsValidity: Option[Validity], validityConstraint: Option[Set[String]], iasType: IASTypes, readFromMonSysTStamp: Option[Long], productionTStamp: Option[Long], sentToConverterTStamp: Option[Long], receivedFromPluginTStamp: Option[Long], convertedProductionTStamp: Option[Long], sentToBsdbTStamp: Option[Long], readFromBsdbTStamp: Option[Long], idsOfDependants: Option[Set[Identifier]], props: Option[Map[String, String]])

A InOut holds the value of an input or output of the IAS. Objects of this type constitutes both the input of ASCEs and the output they produce. They are supposed to live into a ASCE only: their representation in the BSDB is the IASValue[_].

The type of a InOut can be a double, an integer, an array of integers and many other customized types.

The actual value is an Option because there is no value associated before it comes for example from the HW. Nevertheless the InOut exists.

If the InOut is the input of a ASCE, it has the validity received from the IASValue in the fromIasValueValidity. Otherwise the validity depends on the validity of the inputs to the ASCE and is stored in fromInputsValidity. At any time, only one Option between fromIasValueValidity and fromInputsValidity must be defined: this invariant, can also used to recognize if a InoOut is an output of the ACSE.

Value parameters

convertedProductionTStamp

The point in time when the converter generated the value from the data structure rceived by the plugin

fromIasValueValidity

: The validity received from the BSDB (i.e. from a IASValue) It is None if and only if the value is generated by ASCE and in that case fromInputsValidity is defined

fromInputsValidity

the validity inherited by the inputs It is defined only for the outputs of an ASCE and in that case fromIasValueValidity must be None

iasType:

is the IAS type of this InOut

id

: The unique ID of the monitor point

idsOfDependants

the identifiers of the dependent monitor points i.e. the identifier of the inputs if this InOut represents a output empty otherwise

mode

: The operational mode

productionTStamp

The point in time when the value of the InOut has been produced by a plugin, a DASU or a core tool

props

additional properties if any, otherwise empty

readFromBsdbTStamp

The point in time when the value has been read from the BSDB

readFromMonSysTStamp:

The point in time when the value has been read from the monitored system (set by the plugin only)

receivedFromPluginTStamp

The point in time when the converter received the value from the plugin

sentToBsdbTStamp

The point in time when the value has been sent to the BSDB

sentToConverterTStamp

The point in time when the plugin sent the value to the converter

validityConstraint

allows the ASCEs and the DASUs to restrict the evaluation of the validity to a subset of inputs As the IASValue read from the BSDB have no inputs, validityConstraint is defined only when fromInputsValidity is defined but not the other way around

value

: the value of this InOut (can be empty)

Attributes

See also

isOutput() A IASIO can be produced by a plugin, by a DASU or a core tool; independently of the toll that generated the value, the timestamp is saved in the productionTStamp. The tool that generated the value can be identified by the recursive Identifier of the inOut. A property of the InOut contains the list of the dependent monitor points. Only an output can have dependent monitor points i.e. the InOut in input to the DASu that are needed to produce the ouput. The InOut in input have an empty set of dependant monitor points. InOut is immutable.

IASType

Companion
object
Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all

Members list

Value members

Concrete methods

The validity that comes either from the IASValue (input of a ASCE) or inherited from the inputs (output of the ASCE)

The validity that comes either from the IASValue (input of a ASCE) or inherited from the inputs (output of the ASCE)

The validity returned by this method does not take into account the actual time against the timestamps of the IASIO

Attributes

Returns

the validity

def getValidityOfInputByTime(validityTimeFrame: Long): Validity

The validity of a InOut in input, taking only times into account.

The validity of a InOut in input, taking only times into account.

This validity takes into account only the time of the update of this monitor point. The validity of the output of a monitor point generated by the TF of an ASCE, depends also on the refresh time of its inputs that for this reason cannot be evaluated at this level.

The monitor point is valid if it has been updated before the validityTimeFrame elapses.

Value parameters

validityTimeFrame

the time (msecs) to consider the value valid i.e. the validityThrshold

Attributes

Returns

the validity taking times into account

def isOutput(): Boolean

Attributes

Returns

true if this IASIO is the generated by the ASCE, false otherwise (i.e. the input of the ASCE)

def setValidityConstraint(constraint: Option[Set[String]]): InOut[A]

Set the validity constraints to the passed set of IDs of inputs

Set the validity constraints to the passed set of IDs of inputs

Value parameters

constraint

the constraints

Attributes

def toIASValue(): IASValue[A]

Build and return the IASValue representation of this IASIO

Build and return the IASValue representation of this IASIO

Attributes

Returns

The IASValue representation of this IASIO

override def toString(): String

Returns a string representation of the object.

Returns a string representation of the object.

The default representation is platform dependent.

Attributes

Returns

a string representation of the object.

Definition Classes
Any
def update(iasValue: IASValue[_]): InOut[A]

Update the value of this IASIO with the IASValue.

Update the value of this IASIO with the IASValue.

The validity received from the IASValue will be stored in fromIasValueValidity if this INOut is an input of a ASCE or in fromInputsValidity if it the the output of a ASCE.

Attributes

def updateDependentsIds(idsOfDeps: Set[Identifier]): InOut[A]

Updates the IDs of the dependents

Updates the IDs of the dependents

Value parameters

idsOfDeps

the identifiers of the dependent monitor points

Attributes

Returns

a new InOut with the passed IDs of the dependents

Update the validity received from a IASValue

Update the validity received from a IASValue

Attributes

Update the validity Inherited from the inputs

Update the validity Inherited from the inputs

Attributes

def updateMode(newMode: OperationalMode): InOut[A]

Update the mode of the monitor point

Update the mode of the monitor point

Value parameters

newMode:

The new mode of the monitor point

Attributes

def updateProdTStamp(timestamp: Long): InOut[A]

Updates the production timestamp

Updates the production timestamp

Attributes

def updateProps(additionalProps: Map[String, String]): InOut[A]

Return a new inOut with the passed additional properties

Return a new inOut with the passed additional properties

Value parameters

additionalProps

The additional properties

Attributes

Returns

a new inOut with the passed additional properties

def updateSentToBsdbTStamp(timestamp: Long): InOut[A]
def updateValue(newValue: Some[_ >: A]): InOut[A]

Update the value of a IASIO

Update the value of a IASIO

Value parameters

newValue:

The new value of the IASIO

Attributes

Returns

A new InOut with updated value

def updateValueValidity(newValue: Some[_ >: A], newValidity: Some[Validity]): InOut[A]

Update the value and validity of the monitor point.

Update the value and validity of the monitor point.

Which validity to updated between fromIasValueValidity and fromInputsValidity depends if the InOut is an input or a output of a ASCE.

Value parameters

newValidity

the new validity (either fromIasValueValidity or fromInputsValidity)

newValue:

The new value of the monitor point

Attributes

Returns

A new InOut with updated value and validity

Inherited methods

def productElementNames: Iterator[String]

Attributes

Inherited from:
Product
def productIterator: Iterator[Any]

Attributes

Inherited from:
Product