#[non_exhaustive]pub enum LifecycleState {
Draft,
Published,
Answered,
Cancelled,
Expired,
Unsupported,
}Expand description
Where an instance is in its life.
A2 defines the STATES; A3 drives the transitions. Deliberately NOT a
field of InteractionInstance: state is out of band (ADR laws 8 and
12), so A3’s transition records carry it and reference the offer by its
stable InstanceId. Putting it inside the
content-addressed record would make that id name a snapshot — a
Published X would become an Answered Y, and a response that bound X
would refer to nothing the store still holds.
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.
Draft
Minted, not yet offered.
Published
Offered to eligible responders.
Answered
Resolved by a valid response.
Cancelled
Backed out without a decision.
Expired
Its TTL elapsed. Expiry never authorizes.
Unsupported
No attached surface can present a required control, so it fails closed rather than guessing (ADR law 5).
Trait Implementations§
Source§impl Clone for LifecycleState
impl Clone for LifecycleState
impl Copy for LifecycleState
Source§impl Debug for LifecycleState
impl Debug for LifecycleState
Source§impl<'de> Deserialize<'de> for LifecycleState
impl<'de> Deserialize<'de> for LifecycleState
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl Eq for LifecycleState
Source§impl PartialEq for LifecycleState
impl PartialEq for LifecycleState
Source§impl Serialize for LifecycleState
impl Serialize for LifecycleState
impl StructuralPartialEq for LifecycleState
Auto Trait Implementations§
impl Freeze for LifecycleState
impl RefUnwindSafe for LifecycleState
impl Send for LifecycleState
impl Sync for LifecycleState
impl Unpin for LifecycleState
impl UnsafeUnpin for LifecycleState
impl UnwindSafe for LifecycleState
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
Mutably borrows from an owned value. Read more