Skip to main content

Content

Enum Content 

Source
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

Source

pub fn encode(&self, buf: &mut impl BufMut)

Encodes the message to a buffer.

Source

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.

Source

pub fn encoded_len(&self) -> usize

Returns the encoded length of the message without a length delimiter.

Trait Implementations§

Source§

impl Clone for Content

Source§

fn clone(&self) -> Content

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Content

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Eq for Content

Source§

impl From<Content> for Message

Source§

fn from(content: Content) -> Self

Converts this envelope’s content into the shared Message enum.

Source§

impl Hash for Content

Source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl PartialEq for Content

Source§

fn eq(&self, other: &Content) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for Content

Source§

impl TryFrom<Message> for Content

Source§

type Error = Error

A body absent from this envelope cannot travel in this direction.

Source§

fn try_from(message: Message) -> Result<Self, Self::Error>

Selects the envelope field by body type, independently of request ID.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more