pub struct ListBuilder<'a> { /* private fields */ }Expand description
A builder for KVStore key list operations, supporting advanced configuration like cursor, limit, prefix, and asynchronous execution.
store.build_list().execute()?;§Synchronous and Asynchronous support
ListBuilder also exposes the ability to issue an asynchronous list. When finalizing the ListBuilder,
execute_async will send the request, and unblock. There is currently no polling mechanism.
To retrieve the result, use the blocking function pending_list_wait.
§Examples
// synchronous non-builder list
let result: Result<ListPage, KVStoreError> = store.list();
// synchronous builder list
let result: Result<ListPage, KVStoreError> = store.build_list().execute();
// asynchronous builder list
let list_handle: Result<PendingListHandle, KVStoreError> = store.build_list().execute_async();
let result: Result<ListPage, KVStoreError> = store.pending_list_wait(list_handle?);Implementations§
Source§impl<'a> ListBuilder<'a>
impl<'a> ListBuilder<'a>
Sourcepub fn eventual_consistency(self) -> Self
pub fn eventual_consistency(self) -> Self
Rather than read data from the primary data source, which is slower but strongly consistent (strong, the default), instead read a local copy if available, which offers higher speed and may be a few seconds out of date (eventual).
Sourcepub fn limit(self, limit: u32) -> Self
pub fn limit(self, limit: u32) -> Self
Set the maximum number of items included the response. The default limit is 100 items.
Sourcepub fn prefix(self, prefix: &str) -> Self
pub fn prefix(self, prefix: &str) -> Self
Set the prefix match for items to include in the resultset.
Sourcepub fn execute(self) -> Result<ListPage, KVStoreError>
pub fn execute(self) -> Result<ListPage, KVStoreError>
Initiate and wait on the first page of a list of values in the KV Store.
Returns Ok(ListPage) if the list is returned, and KVStoreError if the list failed.
Sourcepub fn iter(self) -> ListResponse<'a> ⓘ
pub fn iter(self) -> ListResponse<'a> ⓘ
Produce a new ListResponse, which can be used as an iterator for chunked list operations.
Returns a new ListResponse, primed for iteration.
Sourcepub fn execute_async(&self) -> Result<PendingListHandle, KVStoreError>
pub fn execute_async(&self) -> Result<PendingListHandle, KVStoreError>
Initiate async list of values in the KV Store.
Returns Ok(Some(PendingListHandle)) if list creation is successful.
Auto Trait Implementations§
impl<'a> Freeze for ListBuilder<'a>
impl<'a> RefUnwindSafe for ListBuilder<'a>
impl<'a> Send for ListBuilder<'a>
impl<'a> Sync for ListBuilder<'a>
impl<'a> Unpin for ListBuilder<'a>
impl<'a> UnsafeUnpin for ListBuilder<'a>
impl<'a> UnwindSafe for ListBuilder<'a>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more