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)
.