Skip to main content

PageContext

Struct PageContext 

Source
pub struct PageContext {
    pub done: bool,
    pub token: String,
    pub entries: VecDeque<Entry>,
}
Expand description

PageContext is the context passing between PageList.

PageLister will init the PageContext, and implementer of PageList should fill the PageContext based on their needs.

  • Set done to true if all page have been fetched.
  • Update token if there is more page to fetch. token is not exposed to users, it’s internal used only.
  • Push back into the entries for each entry fetched from underlying storage.

NOTE: entries is a VecDeque to avoid unnecessary memory allocation. Only push_back is allowed.

Fields§

§done: bool

done is used to indicate whether the list operation is done.

§token: String

token is used by underlying storage services to fetch next page.

§entries: VecDeque<Entry>

entries are used to store entries fetched from underlying storage.

Please always reuse the same VecDeque to avoid unnecessary memory allocation. PageLister makes sure that entries is reset before calling next_page. Implementer can call push_back on entries directly.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

Source§

impl<T> MaybeSend for T
where T: Send,

§

impl<T> MaybeSend for T
where T: Send,