pub trait ReadableValueSet: ValueSet {
// Required methods
fn list_values<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<IndexMap<Self::Id, Record<Self::Value>>, VantageError>> + Send + 'async_trait>>
where 'life0: 'async_trait,
Self: 'async_trait;
fn get_value<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 Self::Id,
) -> Pin<Box<dyn Future<Output = Result<Option<Record<Self::Value>>, VantageError>> + Send + 'async_trait>>
where 'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait;
fn get_some_value<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Option<(Self::Id, Record<Self::Value>)>, VantageError>> + Send + 'async_trait>>
where 'life0: 'async_trait,
Self: 'async_trait;
// Provided method
fn stream_values(
&self,
) -> Pin<Box<dyn Stream<Item = Result<(Self::Id, Record<Self::Value>), VantageError>> + Send + '_>>
where Self: Sync { ... }
}Expand description
Read-only access to raw storage values without entity deserialization.
See documentation for ValueSet for implementation example.
Required Methods§
Sourcefn list_values<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<IndexMap<Self::Id, Record<Self::Value>>, VantageError>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
fn list_values<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<IndexMap<Self::Id, Record<Self::Value>>, VantageError>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
Retrieve all records as raw storage values preserving insertion order where supported.
§Performance
In Vantage you can’t retrieve values of a Set partially. Instead you should create a sub-set of your existing set, then list values of that set instead.
Sourcefn get_value<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 Self::Id,
) -> Pin<Box<dyn Future<Output = Result<Option<Record<Self::Value>>, VantageError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
fn get_value<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 Self::Id,
) -> Pin<Box<dyn Future<Output = Result<Option<Record<Self::Value>>, VantageError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
Retrieve a specific record by ID as a structured record.
Returns Ok(None) when no record exists with the given ID. Returns an
error only if the lookup itself fails.
Sourcefn get_some_value<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Option<(Self::Id, Record<Self::Value>)>, VantageError>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
fn get_some_value<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Option<(Self::Id, Record<Self::Value>)>, VantageError>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
Retrieve one single record from the set. If records are ordered - return first record. will return Ok(None).
Useful when you operate with a very specific subset of data.
Provided Methods§
Sourcefn stream_values(
&self,
) -> Pin<Box<dyn Stream<Item = Result<(Self::Id, Record<Self::Value>), VantageError>> + Send + '_>>where
Self: Sync,
fn stream_values(
&self,
) -> Pin<Box<dyn Stream<Item = Result<(Self::Id, Record<Self::Value>), VantageError>> + Send + '_>>where
Self: Sync,
Stream all records as (Id, Record) pairs.
Default wraps list_values(). Backends with native streaming
(e.g. paginated REST APIs) can override for incremental fetching.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".