Trait germinate::Loader [−][src]
pub trait Loader {
fn load<'life0, 'life1, 'async_trait>(
&'life0 self,
key: &'life1 str
) -> Pin<Box<dyn Future<Output = Result<String>> + Send + 'async_trait>>
where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait;
}
Expand description
A type implementing the Loader trait can be used to load a value from a store by it’s key
For example, the type could load a value from and environment variable, or an external key
value store like etcd
.
As the value could be loaded from an external network source, it must be done asynchronously to allow non-blocking value loading
Required methods
Load takes a key and loads a value from the source using the key. As this could be over a network, we do this asynchronously