Crate apfsds_protocol

Crate apfsds_protocol 

Source
Expand description

APFSDS Protocol - Frame definitions and serialization

This crate defines the core data structures for the APFSDS protocol:

  • ProxyFrame: The fundamental unit of data transmission
  • AuthRequest/AuthResponse: Authentication handshake
  • TokenPayload: One-time connection tokens
  • ControlMessage: Out-of-band control messages

All structures use rkyv for zero-copy deserialization.

Structs§

ArchivedAuthRequest
An archived AuthRequest
ArchivedAuthResponse
An archived AuthResponse
ArchivedConnMeta
An archived ConnMeta
ArchivedConnRecord
An archived ConnRecord
ArchivedEmergencyWarning
An archived EmergencyWarning
ArchivedFrameFlags
An archived FrameFlags
ArchivedPlainPacket
An archived PlainPacket
ArchivedProxyFrame
An archived ProxyFrame
ArchivedStreamState
An archived StreamState
ArchivedTokenPayload
An archived TokenPayload
AuthRequest
Authentication request from client
AuthRequestResolver
The resolver for an archived AuthRequest
AuthResponse
Authentication response from server
AuthResponseResolver
The resolver for an archived AuthResponse
ConnMeta
Connection metadata
ConnMetaResolver
The resolver for an archived ConnMeta
ConnRecord
Connection record for MVCC storage
ConnRecordResolver
The resolver for an archived ConnRecord
EmergencyWarning
Emergency warning in auth response
EmergencyWarningResolver
The resolver for an archived EmergencyWarning
FrameFlags
Frame flags for control flow
FrameFlagsResolver
The resolver for an archived FrameFlags
PlainPacket
Plain packet for exit node communication (no encryption needed - internal network)
PlainPacketResolver
The resolver for an archived PlainPacket
ProxyFrame
Proxy frame - the fundamental unit of all data transmission
ProxyFrameResolver
The resolver for an archived ProxyFrame
StreamState
Stream state for multiplexed connections
StreamStateResolver
The resolver for an archived StreamState
TokenPayload
Token payload (signed by server)
TokenPayloadResolver
The resolver for an archived TokenPayload

Enums§

ArchivedControlMessage
An archived ControlMessage
ArchivedEmergencyLevel
An archived EmergencyLevel
ArchivedRaftCommand
An archived RaftCommand
ControlMessage
Control frame types
ControlMessageResolver
The resolver for an archived ControlMessage
EmergencyLevel
Emergency level
EmergencyLevelResolver
The resolver for an archived EmergencyLevel
RaftCommand
Raft commands for distributed state machine
RaftCommandResolver
The resolver for an archived RaftCommand
ValidationError
Validation errors

Constants§

MAX_PAYLOAD_SIZE
Maximum allowed payload size (64KB)
MAX_TIMESTAMP_DRIFT_MS
Maximum allowed timestamp drift (30 seconds)

Functions§

validate_archived_frame
Validate an archived frame (zero-copy)
validate_frame
Validate a ProxyFrame