Resolver

Trait Resolver 

Source
pub trait Resolver: Send {
    type Input: ?Sized;
    type Output;
    type Error;

    // Required method
    fn resolve(
        &self,
        input: &Self::Input,
    ) -> impl Future<Output = Result<Self::Output, Self::Error>> + Send;
}

Required Associated Types§

Required Methods§

Source

fn resolve( &self, input: &Self::Input, ) -> impl Future<Output = Result<Self::Output, Self::Error>> + Send

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§

Source§

impl<R> Resolver for Throttled<R, DashMap<<R as Resolver>::Input, Arc<Mutex<Sender<Option<<R as Resolver>::Output>>>>>>
where R: Resolver + Send + Sync + 'static, R::Input: Clone + Hash + Eq + Send + Sync + 'static, R::Output: Clone + Send + Sync + 'static,

Source§

impl<R, C> Resolver for Cached<R, C>
where R: Resolver + Send + Sync + 'static, R::Input: Clone + Hash + Eq + Send + Sync + 'static, R::Output: Clone + Send + Sync + 'static, C: Cache<Input = R::Input, Output = R::Output> + Send + Sync + 'static, C::Input: Clone + Hash + Eq + Send + Sync + 'static, C::Output: Clone + Send + Sync + 'static,