pub struct RtLolaMir {
    pub inputs: Vec<InputStream>,
    pub outputs: Vec<OutputStream>,
    pub time_driven: Vec<TimeDrivenStream>,
    pub event_driven: Vec<EventDrivenStream>,
    pub discrete_windows: Vec<DiscreteWindow>,
    pub sliding_windows: Vec<SlidingWindow>,
    pub triggers: Vec<Trigger>,
}
Expand description

This struct constitutes the Mid-Level Intermediate Representation (MIR) of an RTLola specification.

The RtLolaMir is specifically designed to allow convenient navigation and access to data. Hence, it is perfect for working with the specification rather than work on it.

Most Notable Structs and Enums

  • Stream is a trait offering several convenient access methods for everything constituting a stream.
  • OutputStream represents a single output stream. The data structure is enriched with information regarding streams accessing it or accessed by it and much more. For input streams confer InputStream.
  • StreamReference used for referencing streams within the Mir.
  • InstanceTemplate contains all information regarding the parametrization and spawning behavior of streams.
  • Expression represents an expression. It contains its ExpressionKind and its type. The latter contains all information specific to a certain kind of expression such as sub-expressions of operators.

See Also

Fields

inputs: Vec<InputStream>

Contains all input streams.

outputs: Vec<OutputStream>

Contains all output streams including all triggers. They only contain the information relevant for every single kind of output stream. Refer to RtLolaMir::time_driven, RtLolaMir::event_driven, and RtLolaMir::triggers for more information.

time_driven: Vec<TimeDrivenStream>

References and pacing information of all time-driven streams.

event_driven: Vec<EventDrivenStream>

References and pacing information of all event-driven streams.

discrete_windows: Vec<DiscreteWindow>

A collection of all discrete windows.

sliding_windows: Vec<SlidingWindow>

A collection of all sliding windows.

triggers: Vec<Trigger>

References and message information of all triggers.

Implementations

Returns a collection containing a reference to each input stream in the specification.

Returns a collection containing a reference to each output stream in the specification.

Provides mutable access to an input stream.

Panic

Panics if reference is a StreamReference::Out.

Provides immutable access to an input stream.

Panic

Panics if reference is a StreamReference::Out.

Provides mutable access to an output stream.

Panic

Panics if reference is a StreamReference::In.

Provides immutable access to an output stream.

Panic

Panics if reference is a StreamReference::In.

Provides immutable access to a stream.

Produces an iterator over all stream references.

Provides a collection of all output streams representing a trigger.

Provides a collection of all event-driven output streams.

Return true if the specification contains any time-driven features. This includes time-driven streams and time-driven spawn conditions.

Provides a collection of all time-driven output streams.

Provides the activation contion of a event-driven stream and none if the stream is time-driven

Provides immutable access to a discrete window.

Panic

Panics if window is a WindowReference::Sliding.

Provides immutable access to a sliding window.

Panic

Panics if window is a WindowReference::Discrete.

Provides a representation for the evaluation layers of all event-driven output streams. Each element of the outer Vec represents a layer, each element of the inner Vec an output stream in the layer.

Attempts to compute a schedule for all time-driven streams.

Fail

Fails if the resulting schedule would require at least 10^7 deadlines.

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

Deserialize this value from the given Serde deserializer. Read more

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Should always be Self

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.