pub trait OperationService<Op, Exts, PollError>: Service<Self::Normalized, Response = Op::Output, Error = OperationError<Op::Error, PollError>>where
    Op: OperationShape,{
    type Normalized;

    // Required method
    fn normalize(input: Op::Input, exts: Exts) -> Self::Normalized;
}
Expand description

A utility trait used to provide an even interface for all operation services.

This serves to take [Service]s of the form Service<(Op::Input, Ext0, Ext1, ...)> to the canonical representation of Service<(Input, (Ext0, Ext1, ...))> inline with IntoService.

See operation documentation for more info.

Required Associated Types§

Required Methods§

source

fn normalize(input: Op::Input, exts: Exts) -> Self::Normalized

Implementors§

source§

impl<Op, Ext0, Ext1, S, PollError> OperationService<Op, (Ext0, Ext1), PollError> for Swhere Op: OperationShape, S: Service<(Op::Input, Ext0, Ext1), Response = Op::Output, Error = OperationError<Op::Error, PollError>>,

§

type Normalized = (<Op as OperationShape>::Input, Ext0, Ext1)

source§

impl<Op, Ext0, S, PollError> OperationService<Op, (Ext0,), PollError> for Swhere Op: OperationShape, S: Service<(Op::Input, Ext0), Response = Op::Output, Error = OperationError<Op::Error, PollError>>,

§

type Normalized = (<Op as OperationShape>::Input, Ext0)

source§

impl<Op, S, PollError> OperationService<Op, (), PollError> for Swhere Op: OperationShape, S: Service<Op::Input, Response = Op::Output, Error = OperationError<Op::Error, PollError>>,