pub struct AsyncRangeIter<'a, S: AsyncStore> { /* private fields */ }Expand description
Async iterator over key-value pairs in a range.
Created by AsyncProlly::range. Call
AsyncRangeIter::next to lazily read one item at a time, or
AsyncRangeIter::into_stream to adapt it to a futures_util::Stream.
Implementations§
Source§impl<'a, S> AsyncRangeIter<'a, S>
impl<'a, S> AsyncRangeIter<'a, S>
Sourcepub async fn next(&mut self) -> Option<Result<(Vec<u8>, Vec<u8>), Error>>
pub async fn next(&mut self) -> Option<Result<(Vec<u8>, Vec<u8>), Error>>
Return the next key-value pair in lexicographic order.
Sourcepub async fn next_with<R>(
&mut self,
read: impl for<'entry> FnOnce(EntryRef<'entry>) -> R,
) -> Option<Result<R, Error>>
pub async fn next_with<R>( &mut self, read: impl for<'entry> FnOnce(EntryRef<'entry>) -> R, ) -> Option<Result<R, Error>>
Visit the next entry without copying its key or value.
The callback is synchronous and runs after any required child load has
completed, so its borrowed entry cannot cross an .await boundary.
Sourcepub async fn collect(self) -> Result<Vec<(Vec<u8>, Vec<u8>)>, Error>
pub async fn collect(self) -> Result<Vec<(Vec<u8>, Vec<u8>)>, Error>
Collect all remaining range entries into memory.
Sourcepub fn resume_cursor(&self) -> RangeCursor
pub fn resume_cursor(&self) -> RangeCursor
Return a resumable cursor for the last key yielded by this iterator.
If the iterator has not yielded an item yet, this returns
RangeCursor::start.
Auto Trait Implementations§
impl<'a, S> Freeze for AsyncRangeIter<'a, S>
impl<'a, S> RefUnwindSafe for AsyncRangeIter<'a, S>where
S: RefUnwindSafe,
impl<'a, S> Send for AsyncRangeIter<'a, S>where
S: Sync,
impl<'a, S> Sync for AsyncRangeIter<'a, S>where
S: Sync,
impl<'a, S> Unpin for AsyncRangeIter<'a, S>
impl<'a, S> UnsafeUnpin for AsyncRangeIter<'a, S>
impl<'a, S> UnwindSafe for AsyncRangeIter<'a, S>where
S: RefUnwindSafe,
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
Mutably borrows from an owned value. Read more
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>
Converts
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>
Converts
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