pub struct ParticipantConfig {Show 24 fields
pub wire_frame_limit: u64,
pub attach_receipt_ttl_ms: u64,
pub receipt_provenance_ttl_ms: u64,
pub max_live_attach_receipts_server: u64,
pub max_live_attach_receipts_per_participant: u64,
pub max_receipt_provenance_server: u64,
pub max_receipt_provenance_per_conversation: u64,
pub max_receipt_provenance_per_participant: u64,
pub max_retired_identity_slots_server: u64,
pub identity_slots: u64,
pub observer_recovery_max_entries: u64,
pub max_semantic_conversations_per_connection: u64,
pub max_ordinary_record_entries: u64,
pub max_ordinary_record_bytes: u64,
pub max_generated_marker_entries: u64,
pub max_generated_marker_bytes: u64,
pub mandatory_transaction_bound_entries: u64,
pub mandatory_transaction_bound_bytes: u64,
pub full_recovery_claim_entries: u64,
pub full_recovery_claim_bytes: u64,
pub retained_capacity_entries: u64,
pub retained_capacity_bytes: u64,
pub max_retained_record_rows: u64,
pub closure_episode_churn_limit: u64,
}Expand description
Participant lifecycle configuration ([participant]).
Present iff the deployment activates the participant protocol. Every field
is required — serde carries no defaults here, so a missing field fails
config loading with a typed error naming the field, and
ParticipantConfig::collect_errors rejects semantically impossible
values during the same accumulated validation pass as the rest of the
config. All values are deployment-owner decisions (no assumed defaults).
Every field here is consumed by the live production handler. Frontier and retention limits are required inputs; there are no deployment defaults.
Fields§
§wire_frame_limit: u64Complete participant wire-frame limit (WF) negotiated with every
participant-capable connection. Must be at least the protocol’s
minimum complete frame; enforced by the shared codec at service
construction and pre-checked during config validation.
attach_receipt_ttl_ms: u64Secret-bearing attach/enrollment receipt lifetime in milliseconds.
receipt_provenance_ttl_ms: u64Non-secret receipt-provenance lifetime in milliseconds. Must be at
least attach_receipt_ttl_ms (provenance explains the receipt and
cannot expire first).
max_live_attach_receipts_server: u64Server-wide cap on live secret-bearing receipts (enrollment and
credential-attach receipt bodies inside their own receipt windows,
across every conversation). R-D1 stage-8 scope LiveReceiptServer:
enrollment and credential attach refuse with the typed
ReceiptCapacityExceeded when reserving one more would exceed it.
max_live_attach_receipts_per_participant: u64Per-participant cap on live secret-bearing receipts (stage-8 scope
LiveReceiptParticipant). A participant holds at most its enrollment
receipt plus its current attach receipt live at once, so values below
3 refuse rotation while the enrollment receipt is still live.
max_receipt_provenance_server: u64Server-wide cap on retained non-secret provenance fingerprints
(stage-8 scope ProvenanceServer). A fingerprint exists from its
operation’s commit through its own provenance deadline.
max_receipt_provenance_per_conversation: u64Per-conversation provenance-fingerprint cap (stage-8 scope
ProvenanceConversation).
max_receipt_provenance_per_participant: u64Per-participant provenance-fingerprint cap (stage-8 scope
ProvenanceParticipant).
max_retired_identity_slots_server: u64Server-wide identity-slot limit (the contract’s
max_retired_identity_slots server scope): the total number of
participant identities — live or retired — mintable across ALL
conversations. Enrollment refuses with server-scope
IdentityCapacityExceeded (tested BEFORE the conversation scope)
when every slot is reserved.
identity_slots: u64Per-CONVERSATION identity limit I (the contract’s half-open
0..=I bound on permanent participant ordinals — the conversation
scope of max_retired_identity_slots, NOT a per-participant
reservation). Enrollment assigns monotone participant indices in
0..I within one conversation and refuses with conversation-scope
IdentityCapacityExceeded when occupancy reaches this value; slots
and ids are never reused. The server-wide companion is
Self::max_retired_identity_slots_server.
observer_recovery_max_entries: u64Maximum entries one observer-recovery handshake batch may name.
max_semantic_conversations_per_connection: u64Semantic conversations one connection may track — the protocol’s signed connection-conversation limit. Consumed on BOTH of its contract paths: the stage-6 capacity gate every conversation-scoped semantic operation runs (register row 5641) and the observer-recovery batch preflight (register row 5642), over one shared per-connection dispatch map.
max_ordinary_record_entries: u64Maximum canonical entries in one ordinary retained-record row.
max_ordinary_record_bytes: u64Maximum canonical bytes in one ordinary retained-record row.
max_generated_marker_entries: u64Maximum canonical entries in one generated marker row.
max_generated_marker_bytes: u64Maximum canonical bytes in one generated marker row.
mandatory_transaction_bound_entries: u64Entry component of the mandatory transaction envelope Q.
mandatory_transaction_bound_bytes: u64Byte component of the mandatory transaction envelope Q.
full_recovery_claim_entries: u64Entry component of the full recovery claim K.
full_recovery_claim_bytes: u64Byte component of the full recovery claim K.
retained_capacity_entries: u64Total retained durable entry capacity per conversation.
retained_capacity_bytes: u64Total retained canonical-byte capacity per conversation.
max_retained_record_rows: u64Maximum retained causal-record rows restored for one conversation.
closure_episode_churn_limit: u64Maximum closure churn cycles in one episode.
Trait Implementations§
Source§impl Clone for ParticipantConfig
impl Clone for ParticipantConfig
Source§fn clone(&self) -> ParticipantConfig
fn clone(&self) -> ParticipantConfig
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more