pub struct Child<'a, G, T>{
pub subgraph: &'a RefCell<SubgraphBuilder<<G as ScopeParent>::Timestamp, T>>,
pub parent: G,
pub logging: Option<Logger<TimelyEvent, usize>>,
pub progress_logging: Option<Logger<TimelyProgressEvent, usize>>,
}
Expand description
A Child
wraps a Subgraph
and a parent G: Scope
. It manages the addition
of Operate
s to a subgraph, and the connection of edges between them.
Fields§
§subgraph: &'a RefCell<SubgraphBuilder<<G as ScopeParent>::Timestamp, T>>
The subgraph under assembly.
parent: G
A copy of the child’s parent scope.
logging: Option<Logger<TimelyEvent, usize>>
The log writer for this scope.
progress_logging: Option<Logger<TimelyProgressEvent, usize>>
The progress log writer for this scope.
Implementations§
Trait Implementations§
Source§impl<'a, G, T> AsWorker for Child<'a, G, T>
impl<'a, G, T> AsWorker for Child<'a, G, T>
Source§fn allocate<D>(
&mut self,
identifier: usize,
address: &[usize],
) -> (Vec<Box<dyn Push<Message<D>>>>, Box<dyn Pull<Message<D>>>)where
D: Data,
fn allocate<D>(
&mut self,
identifier: usize,
address: &[usize],
) -> (Vec<Box<dyn Push<Message<D>>>>, Box<dyn Pull<Message<D>>>)where
D: Data,
Allocates a new channel from a supplied identifier and address. Read more
Source§fn pipeline<D>(
&mut self,
identifier: usize,
address: &[usize],
) -> (Pusher<Message<D>, Pusher<Message<D>>>, Puller<Message<D>, Puller<Message<D>>>)where
D: 'static,
fn pipeline<D>(
&mut self,
identifier: usize,
address: &[usize],
) -> (Pusher<Message<D>, Pusher<Message<D>>>, Puller<Message<D>, Puller<Message<D>>>)where
D: 'static,
Constructs a pipeline channel from the worker to itself. Read more
Source§fn new_identifier(&mut self) -> usize
fn new_identifier(&mut self) -> usize
Allocates a new worker-unique identifier.
Source§impl<'a, G, T> LoopVariable<'a, G, T> for Child<'a, G, Product<<G as ScopeParent>::Timestamp, T>>
impl<'a, G, T> LoopVariable<'a, G, T> for Child<'a, G, Product<<G as ScopeParent>::Timestamp, T>>
Source§impl<'a, G, T> Scheduler for Child<'a, G, T>
impl<'a, G, T> Scheduler for Child<'a, G, T>
Source§fn activations(&self) -> Rc<RefCell<Activations>>
fn activations(&self) -> Rc<RefCell<Activations>>
Provides a shared handle to the activation scheduler.
Source§fn activator_for(&self, path: &[usize]) -> Activator
fn activator_for(&self, path: &[usize]) -> Activator
Constructs an
Activator
tied to the specified operator address.Source§fn sync_activator_for(&self, path: &[usize]) -> SyncActivator
fn sync_activator_for(&self, path: &[usize]) -> SyncActivator
Constructs a
SyncActivator
tied to the specified operator address.Source§impl<'a, G, T> Scope for Child<'a, G, T>
impl<'a, G, T> Scope for Child<'a, G, T>
Source§fn addr(&self) -> Vec<usize>
fn addr(&self) -> Vec<usize>
A sequence of scope identifiers describing the path from the worker root to this scope.
Source§fn add_edge(&self, source: Source, target: Target)
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.
Source§fn add_operator_with_indices(
&mut self,
operator: Box<dyn Operate<<Child<'a, G, T> as ScopeParent>::Timestamp>>,
local: usize,
global: usize,
)
fn add_operator_with_indices( &mut self, operator: Box<dyn Operate<<Child<'a, G, T> as ScopeParent>::Timestamp>>, local: usize, global: usize, )
Adds a child
Operate
to the builder’s scope using supplied indices. Read moreSource§fn allocate_operator_index(&mut self) -> usize
fn allocate_operator_index(&mut self) -> usize
Allocates a new scope-local operator index. Read more
Source§fn scoped<T2, R, F>(&mut self, name: &str, func: F) -> R
fn scoped<T2, R, F>(&mut self, name: &str, func: F) -> R
Creates a dataflow subgraph. Read more
Source§fn add_operator(&mut self, operator: Box<dyn Operate<Self::Timestamp>>) -> usize
fn add_operator(&mut self, operator: Box<dyn Operate<Self::Timestamp>>) -> usize
Adds a child
Operate
to the builder’s scope. Returns the new child’s index.Source§fn add_operator_with_index(
&mut self,
operator: Box<dyn Operate<Self::Timestamp>>,
index: usize,
)
fn add_operator_with_index( &mut self, operator: Box<dyn Operate<Self::Timestamp>>, index: usize, )
Adds a child
Operate
to the builder’s scope using a supplied index. Read moreSource§fn iterative<T, R, F>(&mut self, func: F) -> R
fn iterative<T, R, F>(&mut self, func: F) -> R
Creates a iterative dataflow subgraph. Read more
Source§impl<'a, G, T> ScopeParent for Child<'a, G, T>
impl<'a, G, T> ScopeParent for Child<'a, G, T>
Auto Trait Implementations§
impl<'a, G, T> Freeze for Child<'a, G, T>where
G: Freeze,
impl<'a, G, T> !RefUnwindSafe for Child<'a, G, T>
impl<'a, G, T> !Send for Child<'a, G, T>
impl<'a, G, T> !Sync for Child<'a, G, T>
impl<'a, G, T> Unpin for Child<'a, G, T>where
G: Unpin,
impl<'a, G, T> !UnwindSafe for Child<'a, G, T>
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<G, D> Concatenate<G, D> for G
impl<G, D> Concatenate<G, D> for G
Source§fn concatenate<I>(&self, sources: I) -> Stream<G, D>where
I: IntoIterator<Item = Stream<G, D>>,
fn concatenate<I>(&self, sources: I) -> Stream<G, D>where
I: IntoIterator<Item = Stream<G, D>>,
Merge the contents of multiple streams. Read more
Source§impl<G> UnorderedInput<G> for Gwhere
G: Scope,
impl<G> UnorderedInput<G> for Gwhere
G: Scope,
Source§fn new_unordered_input<D>(
&mut self,
) -> ((UnorderedHandle<<G as ScopeParent>::Timestamp, D>, ActivateCapability<<G as ScopeParent>::Timestamp>), Stream<G, D>)where
D: Data,
fn new_unordered_input<D>(
&mut self,
) -> ((UnorderedHandle<<G as ScopeParent>::Timestamp, D>, ActivateCapability<<G as ScopeParent>::Timestamp>), Stream<G, D>)where
D: Data,
Create a new capability-based
Stream
and Handle
through which to supply input. This
input supports multiple open epochs (timestamps) at the same time. Read more