Skip to main content

HandlerEndpointAlg

Trait HandlerEndpointAlg 

Source
pub trait HandlerEndpointAlg<Context, Inputs, Args, Transform, Output> {
    // Required method
    fn finish_handler<Handler>(&self, handler: Handler) -> Self::Endpoint
       where Self: HandlerAlg,
             Handler: OperationAlg + ApplyAlg<Context, Args, Output = Output> + Send + Sync + 'static;
}
Expand description

Compiles a typed handler declaration supported by an interpreter.

Required Methods§

Source

fn finish_handler<Handler>(&self, handler: Handler) -> Self::Endpoint
where Self: HandlerAlg, Handler: OperationAlg + ApplyAlg<Context, Args, Output = Output> + Send + Sync + 'static,

Interprets a typed first-order handler as a concrete endpoint.

Inputs, Args, Transform, and Output remain type-level evidence; only the handler value needs to be supplied at runtime.

The handler states its own signature, because an interpretation that names an operation to a reader rather than applying it has nowhere else to read the name and the argument names from.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§