Skip to main content

SubmitActivity

Struct SubmitActivity 

Source
pub struct SubmitActivity {
    pub schema_version: u16,
    pub record: ActivityRecord,
    pub idempotency_key: Option<[u8; 16]>,
}
Expand description

Submit an Activity to the runtime. Brand-less wire format — the branded Activity<'s> is unwrapped at submit-site via SubmitActivity::from_branded.

Fields§

§schema_version: u16

Wire-level schema version tag.

§record: ActivityRecord

Record payload.

§idempotency_key: Option<[u8; 16]>

Opt-in idempotency key. None = non-idempotent.

Implementations§

Source§

impl SubmitActivity

Source

pub fn from_branded(a: Activity<'_>) -> Self

Convert a branded Activity<'s> to a brand-less submit payload.

Source

pub fn with_idempotency_key(self, key: [u8; 16]) -> Self

Attach an idempotency key.

Trait Implementations§

Source§

impl ActionCompute for SubmitActivity

Source§

fn compute(&self, ctx: &ActionContext<'_>) -> Vec<Op>

Translate this action into a list of Ops the kernel will then authorize, dispatch, and apply. Must be pure — A11 SOCIAL-CONTRACT until the subset-Rust checker promotes it to MACHINE-CHECKED.
Source§

impl ActionCompute for SubmitActivity

Source§

fn compute<'i>(&self, ctx: &mut ActionContext<'i>) -> Result<(), ActionError>

Run the compute body. Emit events via ctx.emit_event, derive new ids via ctx.next_id, and return Err(ActionError::...) to reject.
Source§

impl ActionDeriv for SubmitActivity

Source§

const TYPE_CODE: TypeCode

Stable dispatch identifier. Set via #[arkhe(type_code = N, ...)].
Source§

const SCHEMA_VERSION: u32

Version tag for canonical bytes. Bumping invalidates older serialized bodies.
Source§

impl ArkheAction for SubmitActivity

Source§

const TYPE_CODE: u32 = 66561u32

Runtime TypeCode registry pin.
Source§

const SCHEMA_VERSION: u16 = 1u16

Monotone schema version — bump rules identical to ArkheComponent.
Source§

const BAND: Band = 1u8

Determinism band — 1 (Core) / 2 (Projection) / 3 (Protocol).
Source§

const IDEMPOTENT: bool = true

Opt-in idempotency flag. true iff the deriving struct carries an idempotency_key: Option<[u8; 16]> field (validated at derive time). false by default — non-idempotent Actions are still legal.
Source§

fn type_code() -> TypeCode

Convenience TypeCode accessor.
Source§

impl Clone for SubmitActivity

Source§

fn clone(&self) -> SubmitActivity

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for SubmitActivity

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'de> Deserialize<'de> for SubmitActivity

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl PartialEq for SubmitActivity

Source§

fn eq(&self, other: &SubmitActivity) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Serialize for SubmitActivity

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl Eq for SubmitActivity

Source§

impl Sealed for SubmitActivity

Source§

impl StructuralPartialEq for SubmitActivity

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Action for T

Source§

fn canonical_bytes(&self) -> Vec<u8>
where Self: Sized,

Postcard-canonical byte encoding. See Component::canonical_bytes for the contract; identical shape applies here.
Source§

fn from_bytes(version: u32, bytes: &[u8]) -> Result<Box<Self>, DeserializeError>
where Self: Sized,

Inverse of canonical_bytes. SchemaVersionMismatch on unequal version.
Source§

fn approx_size(&self) -> usize
where Self: Sized,

Approximate byte size — defaults to encoded length.
Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,