pub enum SyncFrame {
Show 13 variants
Hello {
nonce: [u8; 32],
max_frame: u32,
min_protocol: u16,
max_protocol: u16,
},
DomainRequest {
domain_id: DomainId,
epoch: u64,
proof: [u8; 32],
capability_chain: Vec<Vec<u8>>,
},
AuthorityState {
epoch: u64,
sequence: u64,
head: Option<[u8; 32]>,
},
ControlGrant {
transition: Vec<u8>,
epoch_key: [u8; 32],
capability_chain: Vec<Vec<u8>>,
},
ControlEvidence {
transition: Vec<u8>,
},
Frontier {
commits: Vec<CommitId>,
},
Need {
commits: Vec<CommitId>,
},
Refs {
commits: Vec<CommitId>,
},
Ack {
commit: CommitId,
},
Done,
Error {
code: u16,
},
InvitationRequest,
Invitation {
payload: Vec<u8>,
},
}Expand description
One canonical /iroh-db/sync/1 control-plane message.
Variants§
Hello
Negotiates the protocol and binds a fresh session nonce.
Fields
DomainRequest
Proves possession of authorization material for exactly one domain.
Fields
AuthorityState
Advertises the durable authority position before data reconciliation.
Fields
ControlGrant
Delivers one signed successor and digest-bound key over authenticated QUIC.
Fields
transition: Vec<u8>Canonical signed iroh_db_security::ControlTransition bytes.
ControlEvidence
Exchanges a signed control head as equivocation evidence without key material.
Fields
transition: Vec<u8>Canonical signed iroh_db_security::ControlTransition bytes.
Frontier
Advertises the bounded causal frontier used as dependency-discovery roots.
Need
Requests missing immutable commit objects.
Refs
Announces immutable hashes available through iroh-blobs.
Ack
Acknowledges durable acceptance of one commit.
Done
Completes a successful reconciliation round.
Error
Reports a bounded protocol error without sensitive context.
InvitationRequest
Requests an endpoint-targeted invitation before domain membership exists.
Invitation
Delivers signed invitation bytes inside the authenticated QUIC session.
Implementations§
Source§impl SyncFrame
impl SyncFrame
Sourcepub fn encode_canonical(&self) -> Result<Vec<u8>, SyncFrameError>
pub fn encode_canonical(&self) -> Result<Vec<u8>, SyncFrameError>
Encodes a strict, deterministic control frame.
Sourcepub fn decode_canonical(bytes: &[u8]) -> Result<Self, SyncFrameError>
pub fn decode_canonical(bytes: &[u8]) -> Result<Self, SyncFrameError>
Strictly decodes one bounded canonical control frame.