Trait CacheHttp

Source
pub trait CacheHttp: Send + Sync {
    // Required method
    fn http(&self) -> &Http;

    // Provided method
    fn cache(&self) -> Option<&Arc<Cache>> { ... }
}
Expand description

This trait will be required by functions that need Http and can optionally use a Cache to potentially avoid REST-requests.

The types Context and Http implement this trait and thus passing these to functions expecting impl CacheHttp is possible. For the full list of implementations, see the Implementors and Implementations on Foreign Types section in the generated docs.

In a situation where you have the cache-feature enabled but you do not pass a cache, the function will behave as if no cache-feature is active.

If you are calling a function that expects impl CacheHttp as argument and you wish to utilise the cache-feature but you got no access to a Context, you can pass a tuple of (&Arc<Cache>, &Http).

Required Methods§

Source

fn http(&self) -> &Http

Provided Methods§

Source

fn cache(&self) -> Option<&Arc<Cache>>

Implementations on Foreign Types§

Source§

impl CacheHttp for (&Arc<Cache>, &Http)

Source§

fn cache(&self) -> Option<&Arc<Cache>>

Source§

fn http(&self) -> &Http

Source§

impl<T> CacheHttp for &T
where T: CacheHttp,

Source§

fn http(&self) -> &Http

Source§

fn cache(&self) -> Option<&Arc<Cache>>

Source§

impl<T> CacheHttp for Arc<T>
where T: CacheHttp,

Source§

fn http(&self) -> &Http

Source§

fn cache(&self) -> Option<&Arc<Cache>>

Implementors§