Skip to main content

AsyncComputerComponent

Struct AsyncComputerComponent 

Source
pub struct AsyncComputerComponent;

Trait Implementations§

Source§

impl<Provider> DelegateComponent<AsyncComputerComponent> for MatchWithFieldHandlersRef<Provider>

Source§

impl<Provider> DelegateComponent<AsyncComputerComponent> for MatchWithValueHandlersMut<Provider>

Source§

impl<Provider> DelegateComponent<AsyncComputerComponent> for MatchWithValueHandlersRef<Provider>

Source§

impl<Provider, M, Providers> DelegateComponent<AsyncComputerComponent> for PipeMonadic<M, Providers>
where Providers: BindProviders<M, Provider = Provider>,

Source§

type Delegate = Provider

Source§

impl<Provider> DelegateComponent<AsyncComputerComponent> for PromoteComputer<Provider>

Source§

impl<Provider> DelegateComponent<AsyncComputerComponent> for PromoteProducer<Provider>

Source§

impl<Provider> DelegateComponent<AsyncComputerComponent> for PromoteTryComputer<Provider>

Source§

impl<'a, Context, Code, Input, Output, Remainder, Handlers> IsProviderFor<AsyncComputerComponent, Context, (Code, &'a Input)> for MatchWithHandlersRef<Handlers>
where Input: HasExtractorRef, PipeMonadic<OkMonadic, Handlers>: IsProviderFor<AsyncComputerComponent, Context, (Code, <Input as HasExtractorRef>::ExtractorRef<'a>)> + AsyncComputer<Context, Code, <Input as HasExtractorRef>::ExtractorRef<'a>, Output = Result<Output, Remainder>>, Remainder: FinalizeExtract,

Source§

impl<'a, Context, Code, Input, Output, Remainder, Handlers> IsProviderFor<AsyncComputerComponent, Context, (Code, &'a mut Input)> for MatchWithHandlersMut<Handlers>
where Input: HasExtractorMut, PipeMonadic<OkMonadic, Handlers>: IsProviderFor<AsyncComputerComponent, Context, (Code, <Input as HasExtractorMut>::ExtractorMut<'a>)> + AsyncComputer<Context, Code, <Input as HasExtractorMut>::ExtractorMut<'a>, Output = Result<Output, Remainder>>, Remainder: FinalizeExtract,

Source§

impl<'a, Context, Code, Input, Args, Output, Remainder, Handlers> IsProviderFor<AsyncComputerComponent, Context, (Code, (&'a Input, Args))> for MatchFirstWithHandlersRef<Handlers>
where Input: HasExtractorRef, PipeMonadic<OkMonadic, Handlers>: IsProviderFor<AsyncComputerComponent, Context, (Code, (<Input as HasExtractorRef>::ExtractorRef<'a>, Args))> + AsyncComputer<Context, Code, (<Input as HasExtractorRef>::ExtractorRef<'a>, Args), Output = Result<Output, (Remainder, Args)>>, Remainder: FinalizeExtract,

Source§

impl<'a, Context, Code, Input, Args, Output, Remainder, Handlers> IsProviderFor<AsyncComputerComponent, Context, (Code, (&'a mut Input, Args))> for MatchFirstWithHandlersMut<Handlers>
where Input: HasExtractorMut, PipeMonadic<OkMonadic, Handlers>: IsProviderFor<AsyncComputerComponent, Context, (Code, (<Input as HasExtractorMut>::ExtractorMut<'a>, Args))> + AsyncComputer<Context, Code, (<Input as HasExtractorMut>::ExtractorMut<'a>, Args), Output = Result<Output, (Remainder, Args)>>, Remainder: FinalizeExtract,

Source§

impl<Context, Code, Tag, Input, Args, Provider> IsProviderFor<AsyncComputerComponent, Context, (Code, (ω<Tag, Input>, Args))> for HandleFirstFieldValue<Provider>
where Provider: IsProviderFor<AsyncComputerComponent, Context, (Code, (Input, Args))> + AsyncComputer<Context, Code, (Input, Args)>,

Source§

impl<Context, Code, Input, Args, Tag, Value, Provider, Output, Remainder> IsProviderFor<AsyncComputerComponent, Context, (Code, (Input, Args))> for ExtractFirstFieldAndHandle<Tag, Provider>
where Input: ExtractField<Tag, Value = Value, Remainder = Remainder>, Provider: IsProviderFor<AsyncComputerComponent, Context, (Code, (ω<Tag, Value>, Args))> + AsyncComputer<Context, Code, (ω<Tag, Value>, Args), Output = Output>,

Source§

impl<Context, Code, Input, Args, Output, Remainder, Handlers> IsProviderFor<AsyncComputerComponent, Context, (Code, (Input, Args))> for MatchFirstWithHandlers<Handlers>
where Input: HasExtractor, PipeMonadic<OkMonadic, Handlers>: IsProviderFor<AsyncComputerComponent, Context, (Code, (<Input as HasExtractor>::Extractor, Args))> + AsyncComputer<Context, Code, (<Input as HasExtractor>::Extractor, Args), Output = Result<Output, (Remainder, Args)>>, Remainder: FinalizeExtract,

Source§

impl<Context, Code, Tag, Input, Provider> IsProviderFor<AsyncComputerComponent, Context, (Code, ω<Tag, Input>)> for HandleFieldValue<Provider>
where Provider: IsProviderFor<AsyncComputerComponent, Context, (Code, Input)> + AsyncComputer<Context, Code, Input>,

Source§

impl<Context, Code, Input, ProviderA, ProviderB> IsProviderFor<AsyncComputerComponent, Context, (Code, Input)> for ComposeHandlers<ProviderA, ProviderB>
where ProviderA: IsProviderFor<AsyncComputerComponent, Context, (Code, Input)> + AsyncComputer<Context, Code, Input>, ProviderB: IsProviderFor<AsyncComputerComponent, Context, (Code, <ProviderA as AsyncComputer<Context, Code, Input>>::Output)> + AsyncComputer<Context, Code, <ProviderA as AsyncComputer<Context, Code, Input>>::Output>,

Source§

impl<Context, Code, Input, Provider, Inner, Output, Remainder> IsProviderFor<AsyncComputerComponent, Context, (Code, Input)> for DowncastAndHandle<Inner, Provider>
where Input: CanDowncastFields<Inner, Remainder = Remainder>, Provider: IsProviderFor<AsyncComputerComponent, Context, (Code, Inner)> + AsyncComputer<Context, Code, Inner, Output = Output>,

Source§

impl<Context, Code, Input, Tag, Value, Provider, Output, Remainder> IsProviderFor<AsyncComputerComponent, Context, (Code, Input)> for ExtractFieldAndHandle<Tag, Provider>
where Input: ExtractField<Tag, Value = Value, Remainder = Remainder>, Provider: IsProviderFor<AsyncComputerComponent, Context, (Code, ω<Tag, Value>)> + AsyncComputer<Context, Code, ω<Tag, Value>, Output = Output>,

Source§

impl<Context, Code, Input, Output, Remainder, Handlers> IsProviderFor<AsyncComputerComponent, Context, (Code, Input)> for MatchWithHandlers<Handlers>
where Input: HasExtractor, PipeMonadic<OkMonadic, Handlers>: IsProviderFor<AsyncComputerComponent, Context, (Code, <Input as HasExtractor>::Extractor)> + AsyncComputer<Context, Code, <Input as HasExtractor>::Extractor, Output = Result<Output, Remainder>>, Remainder: FinalizeExtract,

Source§

impl<Context, Code, Input, Output, Provider> IsProviderFor<AsyncComputerComponent, Context, (Code, Input)> for PromoteAsync<Provider>
where Provider: Computer<Context, Code, Input, Output = Output>,

Source§

impl<Context, Code, Input, Target, Provider> IsProviderFor<AsyncComputerComponent, Context, (Code, Input)> for PromoteRef<Provider>
where Provider: AsyncComputerRef<Context, Code, Target>, Input: Deref<Target = Target>,

Source§

impl<Context, Code, Input> IsProviderFor<AsyncComputerComponent, Context, (Code, Input)> for ReturnInput

Source§

impl<Context, Code, Input, Provider, Output> IsProviderFor<AsyncComputerComponent, Context, (Code, Input)> for TryPromote<Provider>
where Context: HasErrorType, Provider: Handler<Context, Code, Input, Output = Output>,

Source§

impl<Context, Code, Input, Tag, Output> IsProviderFor<AsyncComputerComponent, Context, (Code, Input)> for UseField<Tag>
where Context: HasField<Tag>, <Context as HasField<Tag>>::Value: CanComputeAsync<Code, Input, Output = Output>,

Source§

impl<Context, Code, T, E1, E2, M, Cont> IsProviderFor<AsyncComputerComponent, Context, (Code, Result<T, E1>)> for BindOk<M, Cont>
where Cont: IsProviderFor<AsyncComputerComponent, Context, (Code, E1)> + AsyncComputer<Context, Code, E1>, M: ContainsValue<<Cont as AsyncComputer<Context, Code, E1>>::Output, Value = Result<T, E2>> + LiftValue<Result<T, E2>, <Cont as AsyncComputer<Context, Code, E1>>::Output>,

Source§

impl<Context, Code, T1, T2, E, M, Cont> IsProviderFor<AsyncComputerComponent, Context, (Code, Result<T1, E>)> for BindErr<M, Cont>
where Cont: IsProviderFor<AsyncComputerComponent, Context, (Code, T1)> + AsyncComputer<Context, Code, T1>, M: ContainsValue<<Cont as AsyncComputer<Context, Code, T1>>::Output, Value = Result<T2, E>> + LiftValue<Result<T2, E>, <Cont as AsyncComputer<Context, Code, T1>>::Output>,

Source§

impl<__Context__, Code, Input> IsProviderFor<AsyncComputerComponent, __Context__, (Code, Input)> for UseContext
where __Context__: CanComputeAsync<Code, Input>,

Source§

impl<__Context__, Code, Input, __Components__, __Delegate__> IsProviderFor<AsyncComputerComponent, __Context__, (Code, Input)> for UseDelegate<__Components__>
where __Components__: DelegateComponent<Code, Delegate = __Delegate__>, __Delegate__: IsProviderFor<AsyncComputerComponent, __Context__, (Code, Input)> + AsyncComputer<__Context__, Code, Input>,

Source§

impl<__Context__, Code, Input, __Components__, __Delegate__> IsProviderFor<AsyncComputerComponent, __Context__, (Code, Input)> for UseInputDelegate<__Components__>
where __Components__: DelegateComponent<Input, Delegate = __Delegate__>, __Delegate__: IsProviderFor<AsyncComputerComponent, __Context__, (Code, Input)> + AsyncComputer<__Context__, Code, Input>,

Source§

impl<Provider, __Context__, __Params__> IsProviderFor<AsyncComputerComponent, __Context__, __Params__> for MatchWithFieldHandlersRef<Provider>

Source§

impl<Provider, __Context__, __Params__> IsProviderFor<AsyncComputerComponent, __Context__, __Params__> for MatchWithValueHandlersMut<Provider>

Source§

impl<Provider, __Context__, __Params__> IsProviderFor<AsyncComputerComponent, __Context__, __Params__> for MatchWithValueHandlersRef<Provider>

Source§

impl<Provider, M, Providers, __Context__, __Params__> IsProviderFor<AsyncComputerComponent, __Context__, __Params__> for PipeMonadic<M, Providers>
where Providers: BindProviders<M, Provider = Provider>, Provider: IsProviderFor<AsyncComputerComponent, __Context__, __Params__>,

Source§

impl<Provider, __Context__, __Params__> IsProviderFor<AsyncComputerComponent, __Context__, __Params__> for PromoteComputer<Provider>
where PromoteAsync<Provider>: IsProviderFor<AsyncComputerComponent, __Context__, __Params__>,

Source§

impl<Provider, __Context__, __Params__> IsProviderFor<AsyncComputerComponent, __Context__, __Params__> for PromoteProducer<Provider>

Source§

impl<Provider, __Context__, __Params__> IsProviderFor<AsyncComputerComponent, __Context__, __Params__> for PromoteTryComputer<Provider>

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<Builder, Source, Output> CanBuildFrom<Source> for Builder
where Source: HasFields + IntoBuilder, <Source as HasFields>::Fields: FieldsBuilder<<Source as IntoBuilder>::Builder, Builder, Output = Output>,

Source§

type Output = Output

Source§

fn build_from(self, source: Source) -> Output

Source§

impl<Source, Target, Remainder> CanDowncastFields<Target> for Source
where Target: HasFields, <Target as HasFields>::Fields: FieldsExtractor<Source, Target, Remainder = Remainder>,

Source§

type Remainder = Remainder

Source§

fn downcast_fields( self, _tag: PhantomData<Target>, ) -> Result<Target, <Source as CanDowncastFields<Target>>::Remainder>

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