#[non_exhaustive]pub enum BlockReason {
Capacity,
NotReady,
}Expand description
Why a batch could not complete yet. Both cases are retried with the
resume cursor, but only BlockReason::Capacity engages the driver’s
backpressure controller — a not-ready wait is an upstream dependency
(e.g. a schema fetch), not sink pressure, and pausing the source for it
would misreport the pipeline’s state.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
Capacity
The terminal stage could not accept more output (a shard queue is full): genuine backpressure.
NotReady
A deserializer reported
DeserError::NotReady: the
payload replays once its dependency arrives. Counted on
etl_deser_not_ready_total.
Trait Implementations§
Source§impl Clone for BlockReason
impl Clone for BlockReason
Source§fn clone(&self) -> BlockReason
fn clone(&self) -> BlockReason
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for BlockReason
impl Debug for BlockReason
Source§impl PartialEq for BlockReason
impl PartialEq for BlockReason
Source§fn eq(&self, other: &BlockReason) -> bool
fn eq(&self, other: &BlockReason) -> bool
Tests for
self and other values to be equal, and is used by ==.impl Copy for BlockReason
impl Eq for BlockReason
impl StructuralPartialEq for BlockReason
Auto Trait Implementations§
impl Freeze for BlockReason
impl RefUnwindSafe for BlockReason
impl Send for BlockReason
impl Sync for BlockReason
impl Unpin for BlockReason
impl UnsafeUnpin for BlockReason
impl UnwindSafe for BlockReason
Blanket Implementations§
§impl<U> As for U
impl<U> As for U
§fn as_<T>(self) -> Twhere
T: CastFrom<U>,
fn as_<T>(self) -> Twhere
T: CastFrom<U>,
Casts
self to type T. The semantics of numeric casting with the as operator are followed, so <T as As>::as_::<U> can be used in the same way as T as U for numeric conversions. Read moreSource§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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more