Struct 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> Freeze for OutNode<TOut, TCollected, TNext>

§

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

§

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

§

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

§

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

§

impl<TOut, TCollected, TNext> UnwindSafe for OutNode<TOut, TCollected, TNext>
where TNext: RefUnwindSafe, TOut: UnwindSafe, TCollected: 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.

Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

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

Initializes a with the given initializer. Read more
Source§

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

Dereferences the given pointer. Read more
Source§

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

Mutably dereferences the given pointer. Read more
Source§

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>,

Source§

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>,

Source§

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.