pub enum SubscriptionContractError {
Show 33 variants
ProtocolVersion {
actual: u16,
expected: u16,
},
DistributionCertificateVersion {
actual: u16,
expected: u16,
},
ZeroDigest {
field: &'static str,
},
ZeroCatalogGeneration,
NonCanonicalIdentity {
field: &'static str,
max_bytes: usize,
},
PipelineIdentity,
PartitionAbi {
actual: u16,
expected: u16,
},
VnodeCount {
actual: u16,
expected: u16,
},
PartitionOutOfRange {
partition: u16,
vnode_count: u16,
},
NonCanonicalSingleton {
partition: u16,
},
DistributionCertificateMismatch,
SequenceOverflow,
CheckpointAttempt,
AssignmentCertificate,
GenerationMismatch,
SchemaMismatch,
NonCanonicalFrontiers,
MissingPartitionFrontier,
NonCanonicalObjectKey,
InvalidSegmentRange,
NonCanonicalSegments,
OverlappingSegments,
SegmentBeyondFrontier,
TooManySegments {
actual: usize,
limit: usize,
},
ManifestTooLarge {
actual: usize,
limit: usize,
},
Encode(String),
ManifestDigest,
NonCanonicalNodeStreams,
NonCanonicalPartitionRanges,
PartitionOwnerMismatch {
partition: u16,
},
NodeParticipant,
NodeManifestDigest,
SequenceGap {
partition: u16,
expected: u64,
actual: u64,
},
}Expand description
Structured validation failure for durable subscription contracts.
Variants§
ProtocolVersion
Unsupported persisted or wire protocol.
DistributionCertificateVersion
Unsupported planner certificate encoding.
ZeroDigest
Digest is the reserved all-zero value.
ZeroCatalogGeneration
Catalog generations begin at one.
NonCanonicalIdentity
Catalog or graph identity is empty, padded, or oversized.
PipelineIdentity
Pipeline identity is not canonical.
PartitionAbi
Stable partitioning ABI differs.
VnodeCount
Certified vnode domain differs.
PartitionOutOfRange
Output partition lies outside its certified vnode domain.
NonCanonicalSingleton
Global singleton output must use vnode zero.
DistributionCertificateMismatch
Restored and planned certificates are not identical.
SequenceOverflow
Partition sequence cannot advance without wrapping.
CheckpointAttempt
Checkpoint attempt is zero or internally inconsistent.
AssignmentCertificate
Assignment fence is absent or malformed.
GenerationMismatch
Generation binding differs.
SchemaMismatch
User schema fingerprint differs.
NonCanonicalFrontiers
Frontier vector is not sorted and duplicate-free.
MissingPartitionFrontier
Complete certified partition roster is absent.
NonCanonicalObjectKey
Segment object key is not a bounded provider-neutral relative path.
InvalidSegmentRange
Segment range or counts are inconsistent.
NonCanonicalSegments
Segment references are not canonically sorted and unique.
OverlappingSegments
Segment ranges overlap within one partition.
SegmentBeyondFrontier
Segment extends beyond the checkpoint frontier.
TooManySegments
Segment reference count exceeds the hard limit.
ManifestTooLarge
Encoded manifest exceeds the hard limit.
Encode(String)
Canonical metadata encoding failed.
ManifestDigest
Manifest body does not match its content digest.
NonCanonicalNodeStreams
Participant-local stream inventory is not sorted and unique.
NonCanonicalPartitionRanges
Participant-local partition ranges are not sorted and unique.
PartitionOwnerMismatch
A participant claimed an output partition it does not own.
NodeParticipant
Participant identity is missing from its assignment certificate.
NodeManifestDigest
Participant manifest body does not match its content digest.
SequenceGap
A committed partition interval is discontinuous.
Trait Implementations§
Source§impl Clone for SubscriptionContractError
impl Clone for SubscriptionContractError
Source§fn clone(&self) -> SubscriptionContractError
fn clone(&self) -> SubscriptionContractError
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for SubscriptionContractError
impl Debug for SubscriptionContractError
Source§impl Display for SubscriptionContractError
impl Display for SubscriptionContractError
impl Eq for SubscriptionContractError
Source§impl Error for SubscriptionContractError
impl Error for SubscriptionContractError
1.30.0 · Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()
impl StructuralPartialEq for SubscriptionContractError
Auto Trait Implementations§
impl Freeze for SubscriptionContractError
impl RefUnwindSafe for SubscriptionContractError
impl Send for SubscriptionContractError
impl Sync for SubscriptionContractError
impl Unpin for SubscriptionContractError
impl UnsafeUnpin for SubscriptionContractError
impl UnwindSafe for SubscriptionContractError
Blanket Implementations§
impl<T> Allocation for T
§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
§type ArchivedMetadata = ()
type ArchivedMetadata = ()
§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
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,
§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
§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
key and return true if they are equal.§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
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> ⓘ
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> ⓘ
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§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request§impl<L> LayerExt<L> for L
impl<L> LayerExt<L> for L
§fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
Layered].§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2where
T: SharedNiching<N1, N2>,
N1: Niching<T>,
N2: Niching<T>,
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2where
T: SharedNiching<N1, N2>,
N1: Niching<T>,
N2: Niching<T>,
§impl<T> Pointee for T
impl<T> Pointee for T
§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
§impl<T> ToStringFallible for Twhere
T: Display,
impl<T> ToStringFallible for Twhere
T: Display,
§fn try_to_string(&self) -> Result<String, TryReserveError>
fn try_to_string(&self) -> Result<String, TryReserveError>
ToString::to_string, but without panic on OOM.