pub enum Content {
Show 35 variants
Onboard(OnboardingRequest),
DeviceInfo(DeviceInfoRequest),
CloudSyncStart(CloudSyncStartRequest),
CloudSyncFinish(CloudSyncFinishRequest),
GenuinityProof(GenuinityProofRequest),
FirmwareUpdatePrep(FirmwareUpdatePrepRequest),
FirmwareUpdateInit(FirmwareUpdateInitRequest),
FirmwareUpdateUpload(FirmwareUpdateUploadRequest),
FirmwareUpdateVerify(FirmwareUpdateVerifyRequest),
FirmwareUpdateInstall(FirmwareUpdateInstallRequest),
PairingAuth(PairingAuthRequest),
PairingSetAppId(PairingSetAppIdentityRequest),
PairingSetAppStorage(PairingSetAppStorageRequest),
PairingAckArkStorage(PairingAckArkStorageRequest),
PairingAccept(PairingAcceptanceRequest),
PairingComplete(PairingCompletionRequest),
RelayJoin(RelayJoinRequest),
RelayReq(RelayAppToArkRequest),
RelayRes(RelayAppToArkResponse),
Unlock(UnlockRequest),
ExecUploadStart(ExecutionUploadStartRequest),
ExecUploadChunk(ExecutionUploadChunkRequest),
ExecSched(ExecutionScheduleRequest),
ExecStatus(ExecutionStatusRequest),
ExecCancel(ExecutionCancelRequest),
SlotList(SlotListRequest),
SlotRepair(SlotRepairRequest),
SlotDelete(SlotDeleteRequest),
SlotIdentify(SlotIdentifyRequest),
SlotUploadStart(SlotUploadStartRequest),
SlotUploadChunk(SlotUploadChunkRequest),
SlotUploadCancel(SlotUploadCancelRequest),
SlotUploadProcess(SlotUploadProcessRequest),
DatasetPaths(DatasetPathsRequest),
Develop(Vec<u8>),
}Expand description
Body of the message, a request of the host or its response to a request of the Ark. The tags are grouped by area, each area with its own range.
Variants§
Onboard(OnboardingRequest)
Installs the signed device attestation at manufacturing
DeviceInfo(DeviceInfoRequest)
Fetches the hardware and firmware versions
CloudSyncStart(CloudSyncStartRequest)
Starts a cloud sync with the attested cloud keys
CloudSyncFinish(CloudSyncFinishRequest)
Finishes a cloud sync with the signed server time
GenuinityProof(GenuinityProofRequest)
Requests a proof of the device’s genuinity
FirmwareUpdatePrep(FirmwareUpdatePrepRequest)
Prepares an update, aborting any in progress
FirmwareUpdateInit(FirmwareUpdateInitRequest)
Initiates a prepared update with the sealed firmware key
FirmwareUpdateUpload(FirmwareUpdateUploadRequest)
Appends a chunk of the firmware archive
FirmwareUpdateVerify(FirmwareUpdateVerifyRequest)
Decrypts and verifies the uploaded firmware
FirmwareUpdateInstall(FirmwareUpdateInstallRequest)
Installs the verified firmware and reboots
PairingAuth(PairingAuthRequest)
Asks the Ark to authorize a pairing rendezvous
PairingSetAppId(PairingSetAppIdentityRequest)
Injects the companion app’s identity, relayed by the cloud
PairingSetAppStorage(PairingSetAppStorageRequest)
Injects the companion app’s storage key material
PairingAckArkStorage(PairingAckArkStorageRequest)
Confirms the app received the Ark’s key material
PairingAccept(PairingAcceptanceRequest)
Waits for the user to accept the pairing
PairingComplete(PairingCompletionRequest)
Waits for the Ark to finish pairing maintenance
RelayJoin(RelayJoinRequest)
Asks the Ark to authorize joining the app relay
RelayReq(RelayAppToArkRequest)
Opaque request from the companion app to the Ark
RelayRes(RelayAppToArkResponse)
Opaque response from the companion app to an Ark request
Unlock(UnlockRequest)
Starts the unlock, confirmed through the app
ExecUploadStart(ExecutionUploadStartRequest)
Begins a chunked upload of an app to execute
ExecUploadChunk(ExecutionUploadChunkRequest)
Appends a chunk to a pending app upload
ExecSched(ExecutionScheduleRequest)
Runs an uploaded app, confirmed through the app
ExecStatus(ExecutionStatusRequest)
Checks on a running app
ExecCancel(ExecutionCancelRequest)
Cancels an app run or a pending upload
SlotList(SlotListRequest)
Lists the state of every data slot
SlotRepair(SlotRepairRequest)
Resets a slot to empty whatever its state
SlotDelete(SlotDeleteRequest)
Removes the contents of a filled slot
SlotIdentify(SlotIdentifyRequest)
Asks the Ark to identify a file from its first chunk
SlotUploadStart(SlotUploadStartRequest)
Starts uploading a file into a slot
SlotUploadChunk(SlotUploadChunkRequest)
Appends a chunk to a pending slot upload
SlotUploadCancel(SlotUploadCancelRequest)
Aborts a pending slot upload
SlotUploadProcess(SlotUploadProcessRequest)
Marks an upload complete and polls its processing
DatasetPaths(DatasetPathsRequest)
Maps every path an app can read, from the dataset view
Develop(Vec<u8>)
Unreleased messages served by development firmware only, carried opaquely so the public protocol is untouched while they are still under development. Their schema is private and production Arks refuse the envelope.
Implementations§
Source§impl Content
impl Content
Sourcepub fn merge(
field: &mut Option<Content>,
tag: u32,
wire_type: WireType,
buf: &mut impl Buf,
ctx: DecodeContext,
) -> Result<(), DecodeError>
pub fn merge( field: &mut Option<Content>, tag: u32, wire_type: WireType, buf: &mut impl Buf, ctx: DecodeContext, ) -> Result<(), DecodeError>
Decodes an instance of the message from a buffer, and merges it into self.
Sourcepub fn encoded_len(&self) -> usize
pub fn encoded_len(&self) -> usize
Returns the encoded length of the message without a length delimiter.