Trait log::kv::source::Source [−][src]
pub trait Source { fn visit<'kvs>(
&'kvs self,
visitor: &mut dyn Visitor<'kvs>
) -> Result<(), Error>; fn get<'v>(&'v self, key: Key<'_>) -> Option<Value<'v>> { ... } fn count(&self) -> usize { ... } }
A source of key-value pairs.
The source may be a single pair, a set of pairs, or a filter over a set of pairs.
Use the Visitor
trait to inspect the structured data
in a source.
Required methods
fn visit<'kvs>(&'kvs self, visitor: &mut dyn Visitor<'kvs>) -> Result<(), Error>
[src]
Visit key-value pairs.
A source doesn’t have to guarantee any ordering or uniqueness of key-value pairs. If the given visitor returns an error then the source may early-return with it, even if there are more key-value pairs.
Implementation notes
A source should yield the same key-value pairs to a subsequent visitor unless that visitor itself fails.
Provided methods
fn get<'v>(&'v self, key: Key<'_>) -> Option<Value<'v>>
[src]
Get the value for a given key.
If the key appears multiple times in the source then which key is returned is implementation specific.
Implementation notes
A source that can provide a more efficient implementation of this method should override it.
fn count(&self) -> usize
[src]
Count the number of key-value pairs that can be visited.
Implementation notes
A source that knows the number of key-value pairs upfront may provide a more efficient implementation.
A subsequent call to visit
should yield the same number of key-value pairs
to the visitor, unless that visitor fails part way through.
Implementations on Foreign Types
impl<S> Source for Option<S> where
S: Source,
[src]
impl<S> Source for Option<S> where
S: Source,
[src]