Trait Request

Source
pub trait Request:
    Send
    + Sync
    + Serializable
    + 'static
    + Clone
    + Debug {
    type Response: Send + Sync + Serializable + Clone + Debug;

    // Required method
    fn validate<'life0, 'async_trait>(
        &'life0 self,
    ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
}
Expand description

A trait for a request. Associates itself with a response type.

Required Associated Types§

Source

type Response: Send + Sync + Serializable + Clone + Debug

The response type associated with this request

Required Methods§

Source

fn validate<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Validate the request, returning an error if it is not valid

§Errors

If the request is not valid

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§