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.
Modules
This module contains all configuration related structures.
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.
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.
Represents an error type that never occurs. This can be replaced by the
Never
type once it is stabilized.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.
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 Definitions
The internal time representation.