Struct timely::dataflow::scopes::child::Child [] [src]

pub struct Child<G: Scope, T: Timestamp> {
    pub subgraph: Rc<RefCell<Subgraph<G::Timestamp, T>>>,
    pub parent: G,
}

A Child wraps a Subgraph and a parent G: Scope. It manages the addition of Operates to a subgraph, and the connection of edges between them.

Fields

subgraph: Rc<RefCell<Subgraph<G::Timestamp, T>>> parent: G

Trait Implementations

impl<A: Allocate, T: Timestamp + Ord> Input<A, T> for Child<Root<A>, T>
[src]

fn new_input<D: Data>(&mut self) -> (Handle<T, D>, Stream<Child<Root<A>, T>, D>)

Create a new Stream and Handle through which to supply input. Read more

impl<G: Scope, T: Timestamp> LoopVariable<G, T> for Child<G, T>
[src]

fn loop_variable<D: Data>(&mut self, limit: T, summary: T::Summary) -> (Handle<G::Timestamp, T, D>, Stream<Child<G, T>, D>)

Creates a Stream and a Handle to later bind the source of that Stream. Read more

impl<G: Scope, T: Timestamp> Scope for Child<G, T>
[src]

type Timestamp = Product<G::Timestamp, T>

The timestamp associated with data in this scope.

fn name(&self) -> String

A useful name describing the scope.

fn addr(&self) -> Vec<usize>

A sequence of scope identifiers describing the path from the Root to this scope.

fn add_edge(&self, source: Source, target: Target)

Connects a source of data with a target of the data. This only links the two for the purposes of tracking progress, rather than effect any data movement itself. Read more

fn add_operator_with_index<SC: Operate<Self::Timestamp> + 'static>(&mut self, scope: SC, index: usize)

fn add_operator<SC: Operate<Self::Timestamp> + 'static>(&mut self, scope: SC) -> usize

Adds a child Operate to the builder's scope. Returns the new child's index.

fn new_identifier(&mut self) -> usize

Allocates a new locally unique identifier.

fn new_subscope<T2: Timestamp>(&mut self) -> Subgraph<Product<G::Timestamp, T>, T2>

Creates a new Subgraph with timestamp T. Used by scoped, but unlikely to be commonly useful to end users. Read more

fn scoped<T: Timestamp, R, F: FnOnce(&mut Child<Self, T>) -> R>(&mut self, func: F) -> R

Creates a Subgraph from a closure acting on a Child scope, and returning whatever the closure returns. Read more

impl<G: Scope, T: Timestamp> Allocate for Child<G, T>
[src]

fn index(&self) -> usize

The index of the worker out of (0..self.peers()).

fn peers(&self) -> usize

The number of workers.

fn allocate<D: Data>(&mut self) -> (Vec<Box<Push<D>>>, Box<Pull<D>>)

Constructs several send endpoints and one receive endpoint.

impl<G: Scope, T: Timestamp> Clone for Child<G, T>
[src]

fn clone(&self) -> Self

Returns a copy of the value. Read more

fn clone_from(&mut self, source: &Self)
1.0.0

Performs copy-assignment from source. Read more