pub struct SessionStartPayload {
pub intent: String,
pub participants: Vec<String>,
pub mode_version: String,
pub configuration_version: String,
pub policy_version: String,
pub ttl_ms: i64,
pub roots: Vec<Root>,
pub context_id: String,
pub extensions: HashMap<String, Vec<u8>>,
pub max_suspend_ms: i64,
}Fields§
§intent: String§participants: Vec<String>§mode_version: String§configuration_version: String§policy_version: String§ttl_ms: i64§roots: Vec<Root>§context_id: StringGlobally-unique context reference (e.g. “ctx:sha256:
extensions: HashMap<String, Vec<u8>>Generic extension blocks keyed by protocol identifier. Each value is protocol-specific bytes (typically JSON or sub-proto). The runtime MUST preserve all entries but MUST NOT depend on them for core session lifecycle (RFC-MACP-0001 §7.X).
max_suspend_ms: i64Maximum cumulative suspended duration in milliseconds before a SUSPENDED session transitions to EXPIRED (RFC-MACP-0001 §7.5). Bound at session start like ttl_ms: 0 (or absent) means “use the runtime’s configured default”. The runtime MUST record the resolved cap on the session so replay uses the bound value, never live runtime configuration — the cap is a deterministic replay input (RFC-MACP-0003 §2).
Trait Implementations§
Source§impl Clone for SessionStartPayload
impl Clone for SessionStartPayload
Source§fn clone(&self) -> SessionStartPayload
fn clone(&self) -> SessionStartPayload
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 SessionStartPayload
impl Debug for SessionStartPayload
Source§impl Default for SessionStartPayload
impl Default for SessionStartPayload
Source§impl Message for SessionStartPayload
impl Message for SessionStartPayload
Source§fn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
Source§fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
Source§fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Source§fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
Source§fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Source§fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Source§fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Source§fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self. Read moreSource§fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self.