Trait rtlola_hir::hir::DepAnaTrait
source · pub trait DepAnaTrait {
// Required methods
fn direct_accesses(&self, who: StreamReference) -> Vec<StreamReference>;
fn direct_accesses_with(
&self,
who: StreamReference,
) -> Vec<(StreamReference, Vec<(Origin, 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<(Origin, 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§
sourcefn direct_accesses(&self, who: StreamReference) -> Vec<StreamReference>
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.
sourcefn direct_accesses_with(
&self,
who: StreamReference,
) -> Vec<(StreamReference, Vec<(Origin, StreamAccessKind)>)>
fn direct_accesses_with( &self, who: StreamReference, ) -> Vec<(StreamReference, Vec<(Origin, 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.
sourcefn transitive_accesses(&self, who: StreamReference) -> Vec<StreamReference>
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.
sourcefn direct_accessed_by(&self, who: StreamReference) -> Vec<StreamReference>
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.
sourcefn direct_accessed_by_with(
&self,
who: StreamReference,
) -> Vec<(StreamReference, Vec<(Origin, StreamAccessKind)>)>
fn direct_accessed_by_with( &self, who: StreamReference, ) -> Vec<(StreamReference, Vec<(Origin, 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.
sourcefn transitive_accessed_by(&self, who: StreamReference) -> Vec<StreamReference>
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.
sourcefn aggregated_by(
&self,
who: StreamReference,
) -> Vec<(StreamReference, WindowReference)>
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.
sourcefn aggregates(
&self,
who: StreamReference,
) -> Vec<(StreamReference, WindowReference)>
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.
sourcefn graph(&self) -> &DependencyGraph
fn graph(&self) -> &DependencyGraph
Returns the (Dependency Graph)DependencyGraph of the specification