pub trait DepAnaTrait {
    fn direct_accesses(&self, who: StreamReference) -> Vec<StreamReference> ;
    fn direct_accesses_with(
        &self,
        who: StreamReference
    ) -> Vec<(StreamReference, Vec<StreamAccessKind>)> ; fn transitive_accesses(&self, who: StreamReference) -> Vec<StreamReference> ; fn direct_accessed_by(&self, who: StreamReference) -> Vec<StreamReference> ; fn direct_accessed_by_with(
        &self,
        who: StreamReference
    ) -> Vec<(StreamReference, Vec<StreamAccessKind>)> ; fn transitive_accessed_by(
        &self,
        who: StreamReference
    ) -> Vec<StreamReference> ; fn aggregated_by(
        &self,
        who: StreamReference
    ) -> Vec<(StreamReference, WindowReference)> ; fn aggregates(
        &self,
        who: StreamReference
    ) -> Vec<(StreamReference, WindowReference)> ; fn graph(&self) -> &DependencyGraph; }
Expand description

Describes the functionality of a mode after analyzing the dependencies

Required Methods§

source

fn direct_accesses(&self, who: StreamReference) -> Vec<StreamReference>

Returns all streams that are direct accessed by who

The function returns all streams that are direct accessed by who. A stream who accesses a stream res, if the stream expression, the spawn condition and definition, the evaluation condition, or the close condition of ‘who’ has a stream or window lookup to res. Direct accesses are all accesses appearing in the expressions of the stream itself.

source

fn direct_accesses_with(
    &self,
    who: StreamReference
) -> Vec<(StreamReference, Vec<StreamAccessKind>)>

Returns all streams that are direct accessed by who together with the corresponding stream access kinds.

The function returns all streams that are direct accessed by who with all the stream access kinds that are used to access that stream. A stream who accesses a stream res, if the stream expression, the spawn condition and definition, the evaluation condition, or the close condition of ‘who’ has a stream or window lookup to res. Direct accesses are all accesses appearing in the expressions of the stream itself.

source

fn transitive_accesses(&self, who: StreamReference) -> Vec<StreamReference>

Returns all streams that are transitive accessed by who

The function returns all streams that are transitive accessed by who. A stream who accesses a stream res, if the stream expression, the spawn condition and definition, the evaluation condition, or the close condition of ‘who’ has a stream or window lookup to ‘res’. Transitive accesses are all accesses appearing in the expressions of the stream itself or indirect by another stream lookup.

source

fn direct_accessed_by(&self, who: StreamReference) -> Vec<StreamReference>

Returns all streams that direct access who

The function returns all streams that direct access who. A stream who is accessed by a stream res, if the stream expression, the spawn condition and definition, the evaluation condition, or the close condition of ‘res’ has a stream or window lookup to ‘who’. Direct accesses are all accesses appearing in the expressions of the stream itself.

source

fn direct_accessed_by_with(
    &self,
    who: StreamReference
) -> Vec<(StreamReference, Vec<StreamAccessKind>)>

Returns all streams that direct access who together with the corresponding stream access kinds.

The function returns all streams that direct access who together with all the stream access kinds that they use to access who. A stream who is accessed by a stream res, if the stream expression, the spawn condition and definition, the evaluation condition, or the close condition of ‘res’ has a stream or window lookup to ‘who’. Direct accesses are all accesses appearing in the expressions of the stream itself.

source

fn transitive_accessed_by(&self, who: StreamReference) -> Vec<StreamReference>

Returns all streams that transitive access who

The function returns all streams that transitive access who. A stream who is accessed by a stream res, if the stream expression, the spawn condition and definition, the evaluation condition, or the close condition of ‘res’ has a stream or window lookup to ‘who’. Transitive accesses are all accesses appearing in the expressions of the stream itself or indirect by another stream lookup.

source

fn aggregated_by(
    &self,
    who: StreamReference
) -> Vec<(StreamReference, WindowReference)>

Returns all windows that aggregate who and the stream that uses the window

The function returns all windows that aggregate who and the stream that uses the window. The result contains only the windows that are direct.

source

fn aggregates(
    &self,
    who: StreamReference
) -> Vec<(StreamReference, WindowReference)>

Returns all windows that are used in who and the corresponding stream that is aggregated

The function returns all windows that are used in who and the corresponding stream that is aggregated. The result contains only the windows that are direct.

source

fn graph(&self) -> &DependencyGraph

Returns the (Dependency Graph)DependencyGraph of the specification

Implementors§

source§

impl<T> DepAnaTrait for Twhere
    T: DepAnaTraitWrapper,