#[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§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()