Skip to main content

PipelineTask

Struct PipelineTask 

Source
pub struct PipelineTask { /* private fields */ }
Expand description

One running pipeline’s lifecycle handle.

Implementations§

Source§

impl PipelineTask

Source

pub fn new( pipeline: Pipeline, params: PipelineTaskParams, observers: Vec<Arc<dyn FrameObserver>>, ) -> Self

Build a task over pipeline with params and external observers.

Source

pub async fn queue_frame(&self, frame: Frame)

Queue a downstream frame into the head of the pipeline.

Source

pub async fn queue_frames(&self, frames: impl IntoIterator<Item = Frame>)

Queue several downstream frames.

Source

pub fn queue_sender(&self) -> UnboundedSender<Frame>

A clonable handle to the head-injection queue, for an external producer (e.g. the S2S transport pump) that feeds frames into the pipeline head from its own task while run drives the pipeline. Sending after the task finished is a harmless no-op (the receiver is drained on shutdown).

Source

pub async fn stop_when_done(&self)

Graceful: queue an End so the pipeline drains then shuts down.

Source

pub async fn cancel(&self, reason: Option<String>)

Immediate: queue a Cancel.

Source

pub fn has_finished(&self) -> bool

Whether the task has finished.

Source

pub fn cancel_token(&self) -> CancellationToken

The shared cancellation token (a PipelineRunner holds it to force-abort on signal).

Source

pub fn on_started(&mut self, f: impl Fn() + Send + Sync + 'static)

Source

pub fn on_finished(&mut self, f: impl Fn(StopReason) + Send + Sync + 'static)

Source

pub fn on_error(&mut self, f: impl Fn(&str, bool) + Send + Sync + 'static)

Source

pub fn on_idle_timeout(&mut self, f: impl Fn() + Send + Sync + 'static)

Source

pub async fn run(self) -> Result<()>

Run to completion (PROCESSOR-DESIGN §4.1): spawn all processor tasks, inject Start, wait until it reaches the Sink (ready), pump queued frames, and exit when a terminal frame reaches the Sink (or the cancel token fires).

Auto Trait Implementations§

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<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self> ⓘ

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self> ⓘ

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

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.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘ
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more