pub struct SubgraphBuilder<TOuter, TInner>{
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: StringThe name of this subgraph.
path: Rc<[usize]>A sequence of integers uniquely identifying the subgraph.
Implementations§
Source§impl<TOuter, TInner> SubgraphBuilder<TOuter, TInner>
impl<TOuter, TInner> SubgraphBuilder<TOuter, TInner>
Sourcepub fn new_input(
&mut self,
shared_counts: Rc<RefCell<ChangeBatch<TInner>>>,
) -> Target
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.
Sourcepub fn new_output(&mut self) -> 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.
Sourcepub fn connect(&mut self, source: Source, target: Target)
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.
Sourcepub fn new_from(
path: Rc<[usize]>,
identifier: usize,
logging: Option<Logger>,
summary_logging: Option<SummaryLogger<TInner::Summary>>,
name: &str,
) -> SubgraphBuilder<TOuter, TInner>
pub fn new_from( path: Rc<[usize]>, identifier: usize, logging: Option<Logger>, summary_logging: Option<SummaryLogger<TInner::Summary>>, 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.
Sourcepub fn allocate_child_id(&mut self) -> usize
pub fn allocate_child_id(&mut self) -> usize
Allocates a new child identifier, for later use.
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,
impl<TOuter, TInner> !UnwindSafe for SubgraphBuilder<TOuter, TInner>
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
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more