pub struct GraphBlueprint<S: Shape> { /* private fields */ }Implementations§
Source§impl<S: Shape> GraphBlueprint<S>
impl<S: Shape> GraphBlueprint<S>
pub fn shape(&self) -> S
pub fn stage_count(&self) -> usize
pub fn edge_count(&self) -> usize
pub fn segments(&self) -> &[FusedSegment]
pub fn attributes(&self) -> &Attributes
pub fn with_attributes(self, attributes: Attributes) -> Self
pub fn add_attributes(self, attributes: Attributes) -> Self
pub fn named(self, name: impl Into<String>) -> Self
Source§impl<In, Out> GraphBlueprint<FlowShape<In, Out>>
impl<In, Out> GraphBlueprint<FlowShape<In, Out>>
pub fn run_with_input<I>(&self, input: I) -> StreamResult<Vec<Out>>where
I: IntoIterator<Item = In>,
pub fn run_with_input_report<I>(
&self,
input: I,
config: FusedExecutionConfig,
) -> StreamResult<FusedExecutionReport<Out>>where
I: IntoIterator<Item = In>,
pub fn run_count_with_input<I>(&self, input: I) -> StreamResult<usize>where
I: IntoIterator<Item = In>,
pub fn run_count_with_input_report<I>(
&self,
input: I,
config: FusedExecutionConfig,
) -> StreamResult<FusedTerminalReport<usize>>where
I: IntoIterator<Item = In>,
pub fn run_fold_with_input<I, Acc, F>(
&self,
input: I,
zero: Acc,
fold: F,
) -> StreamResult<Acc>where
I: IntoIterator<Item = In>,
F: FnMut(Acc, Out) -> Acc,
pub fn run_fold_with_input_report<I, Acc, F>(
&self,
input: I,
zero: Acc,
fold: F,
config: FusedExecutionConfig,
) -> StreamResult<FusedTerminalReport<Acc>>where
I: IntoIterator<Item = In>,
F: FnMut(Acc, Out) -> Acc,
Source§impl<T> GraphBlueprint<FlowShape<T, T>>where
T: Send + 'static,
impl<T> GraphBlueprint<FlowShape<T, T>>where
T: Send + 'static,
pub fn run_typed_linear_with_input<I>(&self, input: I) -> StreamResult<Vec<T>>where
I: IntoIterator<Item = T>,
pub fn run_typed_linear_with_input_report<I>(
&self,
input: I,
config: FusedExecutionConfig,
) -> StreamResult<FusedExecutionReport<T>>where
I: IntoIterator<Item = T>,
pub fn run_typed_linear_count_with_input<I>(
&self,
input: I,
) -> StreamResult<usize>where
I: IntoIterator<Item = T>,
pub fn run_typed_linear_count_with_input_report<I>(
&self,
input: I,
config: FusedExecutionConfig,
) -> StreamResult<FusedTerminalReport<usize>>where
I: IntoIterator<Item = T>,
pub fn run_typed_linear_fold_with_input<I, Acc, F>(
&self,
input: I,
zero: Acc,
fold: F,
) -> StreamResult<Acc>where
I: IntoIterator<Item = T>,
F: FnMut(Acc, T) -> Acc,
pub fn run_typed_linear_fold_with_input_report<I, Acc, F>(
&self,
input: I,
zero: Acc,
fold: F,
config: FusedExecutionConfig,
) -> StreamResult<FusedTerminalReport<Acc>>where
I: IntoIterator<Item = T>,
F: FnMut(Acc, T) -> Acc,
Sourcepub fn run_async_boundary_count_with_input_report<I>(
&self,
input: I,
config: AsyncBoundaryExecutionConfig,
) -> StreamResult<FusedTerminalReport<usize>>
pub fn run_async_boundary_count_with_input_report<I>( &self, input: I, config: AsyncBoundaryExecutionConfig, ) -> StreamResult<FusedTerminalReport<usize>>
Runs the internal async-boundary count path.
The graph is still runtime-validated through the typed-linear plan, then
split at AsyncBoundary stages and connected with bounded handoff.
The concrete boundary executor is intentionally private so Datum does
not expose multiple public runtime backends.
Source§impl<T> GraphBlueprint<FanInShape<T, T>>
impl<T> GraphBlueprint<FanInShape<T, T>>
pub fn run_fan_in(&self, inputs: Vec<Vec<T>>) -> StreamResult<Vec<T>>
pub fn run_fan_in_report( &self, inputs: Vec<Vec<T>>, config: FusedExecutionConfig, ) -> StreamResult<FusedExecutionReport<T>>
pub fn run_concat(&self, inputs: Vec<Vec<T>>) -> StreamResult<Vec<T>>
pub fn run_concat_report( &self, inputs: Vec<Vec<T>>, config: FusedExecutionConfig, ) -> StreamResult<FusedExecutionReport<T>>
pub fn run_or_else( &self, primary: Vec<T>, secondary: Vec<T>, ) -> StreamResult<Vec<T>>
pub fn run_or_else_report( &self, primary: Vec<T>, secondary: Vec<T>, config: FusedExecutionConfig, ) -> StreamResult<FusedExecutionReport<T>>
pub fn run_or_else_secondary_first( &self, primary: Vec<T>, secondary: Vec<T>, ) -> StreamResult<Vec<T>>
pub fn run_or_else_secondary_first_report( &self, primary: Vec<T>, secondary: Vec<T>, config: FusedExecutionConfig, ) -> StreamResult<FusedExecutionReport<T>>
pub fn run_or_else_secondary_closed_first( &self, secondary: Vec<T>, ) -> StreamResult<Vec<T>>
pub fn run_interleave( &self, inputs: Vec<Vec<T>>, segment_size: usize, eager_close: bool, ) -> StreamResult<Vec<T>>
pub fn run_interleave_report( &self, inputs: Vec<Vec<T>>, segment_size: usize, eager_close: bool, config: FusedExecutionConfig, ) -> StreamResult<FusedExecutionReport<T>>
Source§impl<T> GraphBlueprint<MergePreferredShape<T>>
impl<T> GraphBlueprint<MergePreferredShape<T>>
pub fn run_merge_preferred( &self, preferred: Vec<T>, secondary_inputs: Vec<Vec<T>>, ) -> StreamResult<Vec<T>>
pub fn run_merge_preferred_report( &self, preferred: Vec<T>, secondary_inputs: Vec<Vec<T>>, config: FusedExecutionConfig, ) -> StreamResult<FusedExecutionReport<T>>
Source§impl<Left, Right> GraphBlueprint<ZipShape<Left, Right>>
impl<Left, Right> GraphBlueprint<ZipShape<Left, Right>>
pub fn run_zip( &self, left: Vec<Left>, right: Vec<Right>, ) -> StreamResult<Vec<(Left, Right)>>
pub fn run_zip_report( &self, left: Vec<Left>, right: Vec<Right>, config: FusedExecutionConfig, ) -> StreamResult<FusedExecutionReport<(Left, Right)>>
Trait Implementations§
Auto Trait Implementations§
impl<S> !RefUnwindSafe for GraphBlueprint<S>
impl<S> !UnwindSafe for GraphBlueprint<S>
impl<S> Freeze for GraphBlueprint<S>where
S: Freeze,
impl<S> Send for GraphBlueprint<S>
impl<S> Sync for GraphBlueprint<S>
impl<S> Unpin for GraphBlueprint<S>where
S: Unpin,
impl<S> UnsafeUnpin for GraphBlueprint<S>where
S: UnsafeUnpin,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> Message for T
impl<T> Message for T
Source§fn from_boxed(m: BoxedMessage) -> Result<Self, BoxedDowncastErr>
fn from_boxed(m: BoxedMessage) -> Result<Self, BoxedDowncastErr>
Convert a BoxedMessage to this concrete type
Source§fn box_message(self, pid: &ActorId) -> Result<BoxedMessage, BoxedDowncastErr>
fn box_message(self, pid: &ActorId) -> Result<BoxedMessage, BoxedDowncastErr>
Convert this message to a BoxedMessage