Struct timely::progress::subgraph::SubgraphBuilder

source ·
pub struct SubgraphBuilder<TOuter, TInner>
where TOuter: Timestamp, TInner: Timestamp,
{ pub name: String, pub path: Rc<[usize]>, /* private fields */ }
Expand description

A builder for interactively initializing a Subgraph.

This collects all the information necessary to get a Subgraph up and running, and is important largely through its build method which actually creates a Subgraph.

Fields§

§name: String

The name of this subgraph.

§path: Rc<[usize]>

A sequence of integers uniquely identifying the subgraph.

Implementations§

source§

impl<TOuter, TInner> SubgraphBuilder<TOuter, TInner>
where TOuter: Timestamp, TInner: Timestamp + Refines<TOuter>,

source

pub fn new_input( &mut self, shared_counts: Rc<RefCell<ChangeBatch<TInner>>>, ) -> Target

Allocates a new input to the subgraph and returns the target to that input in the outer graph.

source

pub fn new_output(&mut self) -> Source

Allocates a new output from the subgraph and returns the source of that output in the outer graph.

source

pub fn connect(&mut self, source: Source, target: Target)

Introduces a dependence from the source to the target.

This method does not effect data movement, but rather reveals to the progress tracking infrastructure that messages produced by source should be expected to be consumed at target.

source

pub fn new_from( path: Rc<[usize]>, logging: Option<Logger>, progress_logging: Option<ProgressLogger>, name: &str, ) -> SubgraphBuilder<TOuter, TInner>

Creates a SubgraphBuilder from a path of indexes from the dataflow root to the subgraph, terminating with the local index of the new subgraph itself.

source

pub fn allocate_child_id(&mut self) -> usize

Allocates a new child identifier, for later use.

source

pub fn add_child( &mut self, child: Box<dyn Operate<TInner>>, index: usize, identifier: usize, )

Adds a new child to the subgraph.

source

pub fn build<A: AsWorker>(self, worker: &mut A) -> Subgraph<TOuter, TInner>

Now that initialization is complete, actually build a subgraph.

Auto Trait Implementations§

§

impl<TOuter, TInner> Freeze for SubgraphBuilder<TOuter, TInner>

§

impl<TOuter, TInner> !RefUnwindSafe for SubgraphBuilder<TOuter, TInner>

§

impl<TOuter, TInner> !Send for SubgraphBuilder<TOuter, TInner>

§

impl<TOuter, TInner> !Sync for SubgraphBuilder<TOuter, TInner>

§

impl<TOuter, TInner> Unpin for SubgraphBuilder<TOuter, TInner>
where TOuter: Unpin, <TInner as Timestamp>::Summary: Unpin,

§

impl<TOuter, TInner> !UnwindSafe for SubgraphBuilder<TOuter, TInner>

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

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

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.