1 2 3 4 5 6 7 8 9 10 11 12 13 14
// Copyright 2020-2021 IOTA Stiftung // SPDX-License-Identifier: Apache-2.0 use crate::backend::StorageBackend; /// `MultiFetch<'a, K, V>` trait extends the `StorageBackend` with `multi_fetch` operation for the (key: K, value: V) /// pair; therefore, it should be explicitly implemented for the corresponding `StorageBackend`. pub trait MultiFetch<'a, K, V>: StorageBackend { /// The iterator associated type over values. type Iter: 'a + Iterator<Item = Result<Option<V>, Self::Error>>; /// Fetches the values associated with the keys from the storage. fn multi_fetch(&'a self, keys: &'a [K]) -> Result<Self::Iter, Self::Error>; }