pub struct CommandId(pub Uuid);Expand description
Identifies one typed command envelope. Distinct from the idempotency key: two envelopes may share an idempotency key when a turn is replayed.
Tuple Fields§
§0: UuidImplementations§
Source§impl CommandId
impl CommandId
Sourcepub fn derive(turn_id: &TurnId, act: ActId, position: usize) -> CommandId
pub fn derive(turn_id: &TurnId, act: ActId, position: usize) -> CommandId
Derives the identifier of the position-th command compiled for act of
turn_id.
Shipped reducers must use this instead of CommandId::new: the
identifier is part of the ReductionPlan
hash, so a random one would make two reductions of the same inputs
disagree and defeat replay (I20).
Source§impl CommandId
impl CommandId
Sourcepub fn new() -> CommandId
pub fn new() -> CommandId
Generates a new time-ordered (UUID v7) identifier.
Identifiers that must be reproducible across a replay are
derived instead: see derive on the types that have one.
Trait Implementations§
impl Copy for CommandId
Source§impl<'de> Deserialize<'de> for CommandId
impl<'de> Deserialize<'de> for CommandId
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<CommandId, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<CommandId, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl Eq for CommandId
Source§impl JsonSchema for CommandId
impl JsonSchema for CommandId
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Returns a string that uniquely identifies the schema produced by this type. Read more
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Generates a JSON Schema for this type. Read more
Source§fn inline_schema() -> bool
fn inline_schema() -> bool
Whether JSON Schemas generated for this type should be included directly in parent schemas,
rather than being re-used where possible using the
$ref keyword. Read moreSource§impl Ord for CommandId
impl Ord for CommandId
1.21.0 (const: unstable) · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the maximum of two values. Read more
1.21.0 (const: unstable) · Source§fn min(self, other: Self) -> Selfwhere
Self: Sized,
fn min(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the minimum of two values. Read more
Source§impl PartialOrd for CommandId
impl PartialOrd for CommandId
Source§impl Serialize for CommandId
impl Serialize for CommandId
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,
Serialize this value into the given Serde serializer. Read more
impl StructuralPartialEq for CommandId
Auto Trait Implementations§
impl Freeze for CommandId
impl RefUnwindSafe for CommandId
impl Send for CommandId
impl Sync for CommandId
impl Unpin for CommandId
impl UnsafeUnpin for CommandId
impl UnwindSafe for CommandId
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
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§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.