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

Implementors