#[non_exhaustive]pub enum DefinitionError {
Show 19 variants
ZeroStartLimit,
EmptyToken {
kind: DefinitionTokenKind,
},
TokenTooLong {
kind: DefinitionTokenKind,
max_bytes: usize,
},
SurroundingWhitespace {
kind: DefinitionTokenKind,
},
ControlCharacter {
kind: DefinitionTokenKind,
},
ManifestEncoding,
ManifestTooLarge {
max_bytes: usize,
},
UpgradeSelfEdge,
EmptyStepMapping,
DuplicateSourceStep,
DuplicateTargetStep,
DeliveryModeMismatch,
CompatibilityLowering,
RuntimeStreamNotDeclared {
namespace: ComponentStreamIdentity,
},
DeclaredStreamMissingRuntime {
namespace: ComponentStreamIdentity,
},
DuplicateRuntimeStream {
namespace: ComponentStreamIdentity,
},
NonRestartableStream {
namespace: ComponentStreamIdentity,
},
CompletionPolicyFingerprintPanic,
CompletionPolicyRevisionMismatch,
}Expand description
Failure to construct a bounded restart definition.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
ZeroStartLimit
A start limit of zero can never start its step.
EmptyToken
A required token was empty.
Fields
kind: DefinitionTokenKindRejected token category.
TokenTooLong
A token exceeded its UTF-8 byte bound.
Fields
kind: DefinitionTokenKindRejected token category.
SurroundingWhitespace
A token had leading or trailing whitespace.
Fields
kind: DefinitionTokenKindRejected token category.
ControlCharacter
A token contained a control character.
Fields
kind: DefinitionTokenKindRejected token category.
ManifestEncoding
The canonical manifest could not be encoded.
ManifestTooLarge
The canonical manifest exceeded its durable bound.
UpgradeSelfEdge
A directed edge pointed from a definition to itself.
EmptyStepMapping
A directed edge omitted its durable step mapping.
DuplicateSourceStep
A source step appeared more than once.
DuplicateTargetStep
Two source steps mapped to the same target step.
DeliveryModeMismatch
A step’s fault runtime declared a different delivery mode than its restart contract.
CompatibilityLowering
A one-step wrapper could not be lowered into its compatibility plan.
The framework derives the compatibility graph from values it has already validated, so this variant reports a framework invariant rather than an application mistake.
RuntimeStreamNotDeclared
A runtime ItemStream was registered under a namespace this
definition’s ChunkComponentRevisions does not declare.
Fields
namespace: ComponentStreamIdentityThe undeclared runtime namespace.
DeclaredStreamMissingRuntime
A declared stream revision has no matching runtime ItemStream
registration.
Fields
namespace: ComponentStreamIdentityThe declared namespace with no runtime registration.
DuplicateRuntimeStream
The same namespace was registered as a runtime ItemStream more than
once.
Fields
namespace: ComponentStreamIdentityThe namespace registered more than once.
NonRestartableStream
A registered ItemStream declares
RestartabilityDeclaration::NotRestartable,
which prevents its owning chunk step from claiming restartability
regardless of reader-checkpoint presence.
Fields
namespace: ComponentStreamIdentityThe namespace whose stream cannot honestly claim restartability.
CompletionPolicyFingerprintPanic
An installed completion policy’s fingerprint() panicked while its
configuration was being folded into the chunk definition’s
restart-relevant revisions.
fingerprint() is an application-supplied callback (every built-in
policy’s own implementation cannot panic), so a definition cannot be
constructed from one that does – this is reported the same way any
other definition-construction failure is, rather than unwinding out
of a constructor with a Result return type.
CompletionPolicyRevisionMismatch
A chunk step’s live completion-policy fingerprint does not match the
completion-policy revision already declared in the
ChunkComponentRevisions a compiled flow node was bound against.
Unlike a standalone chunk job (which builds its compiled plan and
runtime step from the same call, so it can fold a completion
policy’s fingerprint in automatically), a flow node is bound to a
plan that was already compiled from bare ChunkComponentRevisions
– before any concrete step, or its installed policy, existed. The
caller must declare the matching revision up front (the same way a
stream revision is declared up front and validated against its
runtime registration) rather than relying on it being computed
automatically.
Trait Implementations§
Source§impl Clone for DefinitionError
impl Clone for DefinitionError
Source§fn clone(&self) -> DefinitionError
fn clone(&self) -> DefinitionError
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 DefinitionError
impl Debug for DefinitionError
Source§impl Display for DefinitionError
impl Display for DefinitionError
impl Eq for DefinitionError
Source§impl Error for DefinitionError
impl Error for DefinitionError
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()
Source§impl From<DefinitionError> for PlanError
impl From<DefinitionError> for PlanError
Source§fn from(error: DefinitionError) -> PlanError
fn from(error: DefinitionError) -> PlanError
Source§impl PartialEq for DefinitionError
impl PartialEq for DefinitionError
impl StructuralPartialEq for DefinitionError
Auto Trait Implementations§
impl Freeze for DefinitionError
impl RefUnwindSafe for DefinitionError
impl Send for DefinitionError
impl Sync for DefinitionError
impl Unpin for DefinitionError
impl UnsafeUnpin for DefinitionError
impl UnwindSafe for DefinitionError
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§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> 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