pub enum AdmissionConflict {
IdempotencyMismatch {
request_id: String,
existing_author: String,
reason: String,
},
RevisionConflict {
expected: u64,
current: u64,
reason: String,
},
ControlRevisionConflict {
target_node_id: String,
expected: u64,
current: u64,
reason: String,
},
StopMonotonicViolation {
target: String,
reason: String,
},
InvocationSettled {
target_node_id: String,
invocation_id: String,
reason: String,
},
PendingTransition {
target: String,
current_state: String,
pending_action: String,
},
PermissionDenied {
principal_id: String,
graph_id: String,
reason: String,
},
StaleTargetGeneration {
target: String,
expected_generation: u64,
current_generation: u64,
},
ScopeAdmissionBarrier {
graph_id: String,
reason: String,
},
Storage {
reason: String,
},
QueueCapacity(QueueCapacityExceeded),
}Expand description
Explicit typed conflict when admission is rejected.
Variants§
IdempotencyMismatch
Reusing an existing request_id for different command content.
RevisionConflict
Edit or proposal based on a stale graph revision.
ControlRevisionConflict
Contradictory exclusive controls on the same node/invocation.
StopMonotonicViolation
Stop-requested is monotonic; later steer or resume cannot resurrect it.
InvocationSettled
Steer arrived after completion committed; invocation already settled.
PendingTransition
Resume arrived while pause is being negotiated.
PermissionDenied
Principal lacks required grant or grant was revoked.
StaleTargetGeneration
Target lifecycle generation is stale.
ScopeAdmissionBarrier
Graph scope admission barrier prevents new tasks from starting.
Storage
The durable admission transaction could not be committed.
QueueCapacity(QueueCapacityExceeded)
The durable control queue has reached its configured bounds.
Trait Implementations§
Source§impl Clone for AdmissionConflict
impl Clone for AdmissionConflict
Source§fn clone(&self) -> AdmissionConflict
fn clone(&self) -> AdmissionConflict
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 AdmissionConflict
impl Debug for AdmissionConflict
Source§impl<'de> Deserialize<'de> for AdmissionConflict
impl<'de> Deserialize<'de> for AdmissionConflict
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<AdmissionConflict, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<AdmissionConflict, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Source§impl Display for AdmissionConflict
impl Display for AdmissionConflict
impl Eq for AdmissionConflict
Source§impl Error for AdmissionConflict
impl Error for AdmissionConflict
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<Error> for AdmissionConflict
Every storage-layer failure maps to Storage: an admission decided on a
failed read would be a fail-open gate.
impl From<Error> for AdmissionConflict
Every storage-layer failure maps to Storage: an admission decided on a
failed read would be a fail-open gate.
Source§fn from(error: Error) -> AdmissionConflict
fn from(error: Error) -> AdmissionConflict
Source§impl From<Error> for AdmissionConflict
impl From<Error> for AdmissionConflict
Source§fn from(error: Error) -> AdmissionConflict
fn from(error: Error) -> AdmissionConflict
Source§impl From<Error> for AdmissionConflict
impl From<Error> for AdmissionConflict
Source§fn from(error: Error) -> AdmissionConflict
fn from(error: Error) -> AdmissionConflict
Source§impl PartialEq for AdmissionConflict
impl PartialEq for AdmissionConflict
Source§impl Serialize for AdmissionConflict
impl Serialize for AdmissionConflict
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
impl StructuralPartialEq for AdmissionConflict
Auto Trait Implementations§
impl Forget for AdmissionConflict
impl Freeze for AdmissionConflict
impl Move for AdmissionConflict
impl RefUnwindSafe for AdmissionConflict
impl Send for AdmissionConflict
impl Sync for AdmissionConflict
impl Unpin for AdmissionConflict
impl UnsafeUnpin for AdmissionConflict
impl UnwindSafe for AdmissionConflict
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,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
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.