[][src]Struct rtlola_frontend::ir::RTLolaIR

pub struct RTLolaIR {
    pub inputs: Vec<InputStream>,
    pub outputs: Vec<OutputStream>,
    pub time_driven: Vec<TimeDrivenStream>,
    pub event_driven: Vec<EventDrivenStream>,
    pub sliding_windows: Vec<SlidingWindow>,
    pub triggers: Vec<Trigger>,
}

Intermediate representation of an RTLola specification. Contains all relevant information found in the underlying specification and is enriched with information collected in semantic analyses.

Fields

inputs: Vec<InputStream>

All input streams.

outputs: Vec<OutputStream>

All output streams with the bare minimum of information.

time_driven: Vec<TimeDrivenStream>

References to all time-driven streams.

event_driven: Vec<EventDrivenStream>

References to all event-driven streams.

sliding_windows: Vec<SlidingWindow>

A collection of all sliding windows.

triggers: Vec<Trigger>

A collection of triggers

Implementations

impl RTLolaIR[src]

pub fn input_refs(&self) -> Vec<InputReference>[src]

Returns a Vec containing a reference for each input stream in the specification.

pub fn output_refs(&self) -> Vec<OutputReference>[src]

Returns a Vec containing a reference for each output stream in the specification.

pub fn get_in_mut(&mut self, reference: StreamReference) -> &mut InputStream[src]

Provides mutable access to an input stream.

pub fn get_in(&self, reference: StreamReference) -> &InputStream[src]

Provides immutable access to an input stream.

pub fn get_out_mut(&mut self, reference: StreamReference) -> &mut OutputStream[src]

Provides mutable access to an output stream.

pub fn get_out(&self, reference: StreamReference) -> &OutputStream[src]

Provides immutable access to an output stream.

pub fn all_streams(&self) -> Vec<StreamReference>[src]

Returns a Vec containing a reference for each stream in the specification.

pub fn get_triggers(&self) -> Vec<&OutputStream>[src]

Returns a Vec containing a reference to an output stream representing a trigger in the specification.

pub fn get_event_driven(&self) -> Vec<&OutputStream>[src]

Returns a Vec containing a reference for each event-driven output stream in the specification.

pub fn get_time_driven(&self) -> Vec<&OutputStream>[src]

Returns a Vec containing a reference for each time-driven output stream in the specification.

pub fn get_window(&self, window: WindowReference) -> &SlidingWindow[src]

Returns a Vec containing a reference for each sliding window in the specification.

pub fn get_event_driven_layers(&self) -> Vec<Vec<OutputReference>>[src]

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 a stream in the layer.

pub fn compute_schedule(&self) -> Result<Schedule, String>[src]

Computes a schedule for all time-driven streams.

Trait Implementations

impl Clone for RTLolaIR[src]

impl Debug for RTLolaIR[src]

impl PartialEq<RTLolaIR> for RTLolaIR[src]

impl StructuralPartialEq for RTLolaIR[src]

Auto Trait Implementations

impl !RefUnwindSafe for RTLolaIR

impl Send for RTLolaIR

impl Sync for RTLolaIR

impl !Unpin for RTLolaIR

impl !UnwindSafe for RTLolaIR

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.