pub enum PollPace {
Nominal,
RateLimited {
kind: RateLimitKind,
},
LockedOut,
Offline {
consecutive: u32,
},
Blocked,
}Expand description
Why the next poll is when it is.
Reported rather than inferred, because
04-subsystem-contracts.md requires that rate limiting be “displayed, never
hidden” — and a delay that grew for a reason the caller cannot name is
hidden however visible the number is.
Variants§
Nominal
The configured interval. Nothing is throttling this loop.
RateLimited
GitHub’s rate limit is exhausted. Resolves by waiting.
Fields
kind: RateLimitKindLockedOut
GitHub’s temporary authentication lockout. The credential is fine.
Offline
GitHub could not be reached. consecutive counts the unbroken run of
failures the back-off was computed from.
Blocked
GitHub answered something no amount of waiting fixes — a rejected credential, a permissions refusal, or an error status. The loop keeps polling at its nominal interval so that a fix is noticed, and says that it is blocked rather than pretending the poll succeeded.
Implementations§
Trait Implementations§
impl Copy for PollPace
impl Eq for PollPace
impl StructuralPartialEq for PollPace
Auto Trait Implementations§
impl Freeze for PollPace
impl RefUnwindSafe for PollPace
impl Send for PollPace
impl Sync for PollPace
impl Unpin for PollPace
impl UnsafeUnpin for PollPace
impl UnwindSafe for PollPace
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.