Struct ppl::pipeline::node::OutNode

source ·
pub struct OutNode<TOut, TCollected, TNext>
where TOut: Send, TNext: Node<TOut, TCollected>,
{ /* private fields */ }
Expand description

Struct representing a Source node.

Implementations§

source§

impl<TOut, TCollected, TNext> OutNode<TOut, TCollected, TNext>
where TOut: Send + 'static, TNext: Node<TOut, TCollected> + Send + Sync + 'static,

source

pub fn new( handler: Box<dyn Out<TOut> + Send + Sync>, next_node: TNext, orchestrator: Arc<Orchestrator> ) -> OutNode<TOut, TCollected, TNext>

Create a new output Node.

The handler is the struct that implement the trait Out and defines the behavior of the node we’re creating. next_node contains the stage that follows the node.

source

pub fn start(&mut self)

Start the node. The node will start to send the output to the next node.

source

pub fn terminate(self)

Terminate the current node and the following ones. The node will terminate also when the stop flag is set to true.

Trait Implementations§

source§

impl<TIn, TOut, TCollected, TNext> Node<TIn, TCollected> for OutNode<TOut, TCollected, TNext>
where TIn: Send, TOut: Send + 'static, TNext: Node<TOut, TCollected> + Send + Sync + 'static,

source§

fn send(&self, _input: Message<TIn>, _rec_id: usize) -> Result<(), SenderError>

Send a message to the node.
source§

fn collect(self) -> Option<TCollected>

Collect the final result stored in the last stage of the pipeline where is located this node.
source§

fn get_num_of_replicas(&self) -> usize

Fetch the number of replicas of this node.

Auto Trait Implementations§

§

impl<TOut, TCollected, TNext> RefUnwindSafe for OutNode<TOut, TCollected, TNext>
where TCollected: RefUnwindSafe, TNext: RefUnwindSafe, TOut: RefUnwindSafe,

§

impl<TOut, TCollected, TNext> Send for OutNode<TOut, TCollected, TNext>
where TCollected: Send, TNext: Sync + Send,

§

impl<TOut, TCollected, TNext> Sync for OutNode<TOut, TCollected, TNext>
where TCollected: Sync, TNext: Sync + Send, TOut: Sync,

§

impl<TOut, TCollected, TNext> Unpin for OutNode<TOut, TCollected, TNext>
where TCollected: Unpin, TOut: Unpin,

§

impl<TOut, TCollected, TNext> UnwindSafe for OutNode<TOut, TCollected, TNext>
where TCollected: UnwindSafe, TNext: RefUnwindSafe, TOut: UnwindSafe,

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.

§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
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.