pub struct WriteRequest {
    pub offset: u64,
    pub path: Path,
    pub data: Unstructured,
}
Expand description

uavcan.file.Write.1.1

Size ranges from 8 to 519 bytes

Write into a remote file. The server shall place the contents of the field ‘data’ into the file pointed by ‘path’ at the offset specified by the field ‘offset’.

When writing a file, the client should repeatedly call this service with data while advancing the offset until the file is written completely. When the write sequence is completed, the client shall call the service one last time, with the offset set to the size of the file and with the data field empty, which will signal the server that the transfer is finished.

When the write operation is complete, the server shall truncate the resulting file past the specified offset.

Fields§

§offset: u64

truncated uint40

Always aligned, size 40 bits

§path: Path

uavcan.file.Path.2.0

Always aligned, size ranges from 8 to 2048 bits

§data: Unstructured

uavcan.primitive.Unstructured.1.0

Always aligned, size ranges from 16 to 2064 bits

Trait Implementations§

source§

impl DataType for WriteRequest

source§

const EXTENT_BYTES: Option<u32> = _

This type is delimited with an extent of 600 bytes.

source§

impl Deserialize for WriteRequest

source§

fn deserialize(cursor: &mut ReadCursor<'_>) -> Result<Self, DeserializeError>where Self: Sized,

Deserializes a value and returns it
source§

fn deserialize_from_bytes(bytes: &[u8]) -> Result<Self, DeserializeError>where Self: Sized,

A convenience function that creates a cursor around the provided bytes and calls deserialize
source§

impl Serialize for WriteRequest

source§

fn size_bits(&self) -> usize

Returns the size of the encoded form of this value, in bits Read more
source§

fn serialize(&self, cursor: &mut WriteCursor<'_>)

Serializes this value into a buffer Read more
source§

fn serialize_to_bytes(&self, bytes: &mut [u8])

A convenience function that creates a cursor around the provided bytes and calls serialize
source§

impl Request for WriteRequest

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere 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, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

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

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

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

§

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.