pub struct PaginationBudget { /* private fields */ }Expand description
Transactional request, item, and snapshot budget.
This state is intentionally neither Copy nor Clone.
ⓘ
use cloud_sdk::pagination::PaginationBudget;
fn require_copy<T: Copy>() {}
require_copy::<PaginationBudget>();Implementations§
Source§impl PaginationBudget
impl PaginationBudget
Sourcepub const fn new(
limits: PaginationLimits,
snapshot_policy: SnapshotPolicy,
) -> Self
pub const fn new( limits: PaginationLimits, snapshot_policy: SnapshotPolicy, ) -> Self
Starts an empty traversal budget.
Sourcepub const fn limits(&self) -> PaginationLimits
pub const fn limits(&self) -> PaginationLimits
Returns the immutable limits.
Sourcepub const fn progress(&self) -> PaginationProgress
pub const fn progress(&self) -> PaginationProgress
Returns accepted counters.
Sourcepub fn admit(
&mut self,
entries: usize,
has_continuation: bool,
snapshot: Option<SnapshotId<'_>>,
) -> Result<PaginationProgress, PaginationError>
pub fn admit( &mut self, entries: usize, has_continuation: bool, snapshot: Option<SnapshotId<'_>>, ) -> Result<PaginationProgress, PaginationError>
Transactionally admits one decoded response into the hard budget.
Cursor, marker, and provider-link traversals call this once for every response before following a continuation. On failure, counters and snapshot state remain unchanged.
Trait Implementations§
Source§impl Debug for PaginationBudget
impl Debug for PaginationBudget
Source§impl Drop for PaginationBudget
impl Drop for PaginationBudget
Auto Trait Implementations§
impl Freeze for PaginationBudget
impl RefUnwindSafe for PaginationBudget
impl Send for PaginationBudget
impl Sync for PaginationBudget
impl Unpin for PaginationBudget
impl UnsafeUnpin for PaginationBudget
impl UnwindSafe for PaginationBudget
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