PipeLineBuilder

Struct PipeLineBuilder 

Source
pub struct PipeLineBuilder<'pl, E, C>
where C: 'static,
{ /* private fields */ }
Expand description

Serve as an medium to create an instance of PipeLine

This type can be used to construct an instance or PipeLine through a builder-like pattern.

Implementations§

Source§

impl<'pl, E, C> PipeLineBuilder<'pl, E, C>

Source

pub fn new() -> Self

Create an instance of PipeLine

§Examples
let pipeline = PipeLineBuilder::new();
assert!(pipeline.entity_ref().is_none());
Source

pub fn build<T: Into<String>>(self, marker: T) -> PipeLine<'pl, E, C>

Consume it and return an instance of PipeLine

§Examples
async fn process_entity(_: &mut Vec<E>, _: &mut App<E>) {}
let pipeline = PipeLineBuilder::new();
    .entity(process_entity)
    .build("marker");
Source

pub fn extensions<S>(self, extensions: S) -> Self
where S: Any + Send + Sync + 'static,

set the extensions of PipeLineBuilder

§Examples
let pipeline = Pipeline::builder()
    .extensions(1i32)
    .build("marker");
assert_eq!(pipeline.extensions().get::<i32>(), 1);
Source

pub fn extensions_ref(&self) -> &Extensions

get extensions of PipeLineBuilder

§Examples
let pipeline = Pipeline::builder()
    .extensions(1i32)
    .build("marker");
assert_eq!(pipeline.extensions_ref().get::<i32>(), 1);
Source

pub fn rank(self, rank: i16) -> Self

set the rank of PipeLineBuilder

§Examples
let pipeline = Pipeline::builder()
    .rank(1)
    .build("marker");
assert_eq!(pipeline.rank(), 1);
Source

pub fn rank_ref(&self) -> i16

get rank of PipeLineBuilder

§Examples
async fn process_entity(&mut Vec<E>, &mut App<E>) {}
let pipeline = Pipeline::builder()
    .rank(1)
    .build("marker");
assert_eq!(pipeline.rank_ref(), 1);
Source

pub fn initializer( self, initials: &'pl dyn for<'a> Fn(&'a mut App<E>) -> BoxFuture<'a, Option<C>>, ) -> Self

Set the initializer of PipeLine, if not called, the default value is None

§Examples
async fn initializer(_: &mut App<E>) {}
let pipeline = PipeLines::builder()
    .initializer(&initializer)
    .build("marker".into());
assert! (pipeline.initializer.is_some())
Source

pub fn initializer_ref( &self, ) -> Option<&'pl dyn for<'a> Fn(&'a mut App<E>) -> BoxFuture<'a, Option<C>>>

Get the shared reference of initializer of PipeLine, if not set before, None is returned

§Examples
async fn initializer(_: &mut App<E>) {}
let pipeline = PipeLines::builder()
    .initializer(&initializer)
    .build("marker".into());
assert_eq! (pipeline.initializer_ref (), Some(initializer))
Source

pub fn disposer( self, dispose: &'pl dyn for<'a> Fn(&'a mut App<E>) -> BoxFuture<'a, ()>, ) -> Self

Set the disposer of PipeLine, if not called, the default value is None

§Examples
async fn disposer(_: &mut App<E>) {}
let pipeline = PipeLines::builder()
    .disposer(&disposer)
    .build("marker".into());
assert! (pipeline.disposer.is_some())
Source

pub fn disposer_ref( &self, ) -> Option<&'pl dyn for<'a> Fn(&'a mut App<E>) -> BoxFuture<'a, ()>>

Get the shared reference of disposer of PipeLine, if not set before, None is returned

§Examples
async fn disposer(_: &mut App<E>) {}
let pipeline = PipeLines::builder()
    .disposer(&disposer)
    .build("marker".into());
assert_eq! (pipeline.disposer_ref (), Some(disposer))
Source

pub fn entity( self, entity: &'pl dyn for<'a> Fn(Vec<E>, &'a mut App<E>) -> BoxFuture<'a, ()>, ) -> Self

Set the process_entity of PipeLine, if not called, the default value is None

§Examples
async fn process_entity(_ : & mut Vec < E > ,_: &mut App<E>) {}
let pipeline = PipeLines::builder()
    .entity(&process_entity)
    .build("marker".into());
assert! (pipeline.process_entity.is_some())
Source

pub fn entity_ref( &self, ) -> Option<&'pl dyn for<'a> Fn(Vec<E>, &'a mut App<E>) -> BoxFuture<'a, ()>>

Get the shared reference of process_entity of PipeLine, if not set before, None is returned

§Examples
async fn process_entity(_ : & mut Vec < E > ,_: &mut App<E>) {}
let pipeline = PipeLines::builder()
    .entity(&process_entity)
    .build("marker".into());
assert_eq! (pipeline.entity_ref (), Some(process_entity))
Source

pub fn yerr( self, yerr: &'pl dyn for<'a> Fn(Vec<Result<Response, MetaResponse>>, &'a mut App<E>) -> BoxFuture<'a, ()>, ) -> Self

Set the process_yerr of PipeLine, if not called, the default value is None

§Examples
async fn process_yerr(_ : & mut Vec < Result<Response, MetaResponse> > ,_: &mut App<E>) {}
let pipeline = PipeLines::builder()
    .yerr(&process_yerr)
    .build("marker".into());
assert! (pipeline.process_yerr.is_some())
Source

pub fn yerr_ref( &self, ) -> Option<&'pl dyn for<'a> Fn(Vec<Result<Response, MetaResponse>>, &'a mut App<E>) -> BoxFuture<'a, ()>>

Get the shared reference of process_yerr of PipeLine, if not set before, None is returned

§Examples
async fn process_yerr(_ : & mut Vec < Result<Response, MetaResponse> > ,_: &mut App<E>) {}
let pipeline = PipeLines::builder()
    .yerr(&process_yerr)
    .build("marker".into());
assert_eq! (pipeline.yerr_ref (), Some(process_yerr))

Auto Trait Implementations§

§

impl<'pl, E, C> Freeze for PipeLineBuilder<'pl, E, C>

§

impl<'pl, E, C> !RefUnwindSafe for PipeLineBuilder<'pl, E, C>

§

impl<'pl, E, C> !Send for PipeLineBuilder<'pl, E, C>

§

impl<'pl, E, C> !Sync for PipeLineBuilder<'pl, E, C>

§

impl<'pl, E, C> Unpin for PipeLineBuilder<'pl, E, C>

§

impl<'pl, E, C> !UnwindSafe for PipeLineBuilder<'pl, E, C>

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> 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> 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 = 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.
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