Crate rtlola_interpreter

source ·
Expand description

§The RTLola Interpreter

The RTLola interpreter is a library used to evaluate RTLola specifications. It is designed such that it easily integrates into your setup through highly configurable APIs.

§Features

  • queued-api (Default): By default the library features a queued API that uses threads. If your target architecture doesn’t support threads, consider disabling this feature through “default-features = false”
  • serde: Enables Serde Serialization and Deserialization support for API interface structs.

§Usage

The main entrypoint of the application is the ConfigBuilder. It features multiple methods to configure the interpreter for your needs. From there you can create a Monitor or QueuedMonitor. The main interaction points of the library.

Re-exports§

Modules§

  • This module contains all configuration related structures.
  • This module contains necessary traits and types to interface your datastructures with the interpreter. Most notably, the EventFactory trait represents a factory for events such that you can feed events of type EventFactory::Record to the monitor. To easy the implementation, there are helper traits like InputMap which works together with the MappedFactory.
  • The Monitor is the single threaded version of the API. Consequently deadlines of timed streams are only evaluated with a new event. Hence this API is more suitable for offline monitoring or embedded scenarios.
  • The QueuedMonitor is the multi-threaded version of the API. Deadlines are evaluated immediately and the resulting verdicts are returned through a queue retrieved using the output_queue method. This API should be used in an online monitoring setting.
  • This module covers the Mid-Level Intermediate Representation (MIR) of an RTLola specification.
  • This module contains the different time representations of the interpreter.

Macros§

  • Create an iterator running multiple iterators in lockstep.

Structs§

  • The main entry point of the application. Use the various methods to construct a configuration either for running the interpreter directly or to use the Monitor API interface.
  • The Monitor is the central object exposed by the API.
  • The QueuedMonitor is a threaded version of the Api allowing deadlines to be evaluated immediately.

Enums§

  • The general type for holding all kinds of values.
  • Describes an error occurring when converting from or into a value.

Traits§

  • A helper trait to conditionally require a serde::Deserialize as a trait bound when the serde feature is activated.
  • A helper trait to conditionally require a serde::Serialize as a trait bound when the serde feature is activated.

Type Aliases§

  • The internal time representation.
  • A function Type that projects a reference to From to a Value