pub struct ListRequest {
    pub entry_index: u32,
    pub directory_path: Path,
}
👎Deprecated
Expand description

uavcan.file.List.0.1

Size ranges from 9 to 121 bytes

This service can be used to list a remote directory, one entry per request.

The client should query each entry independently, iterating ‘entry_index’ from 0 until the last entry. When the index reaches the number of elements in the directory, the server will report that there is no such entry by returning an empty name.

The field entry_index shall be applied to an ordered list of directory entries (e.g. alphabetically ordered). The exact sorting criteria does not matter as long as it provides the same ordering for subsequent service calls.

Observe that this listing operation is fundamentally non-atomic. The caller shall beware of possible race conditions and is responsible for handling them properly. Particularly, consider what happens if a new item is inserted into the directory between two subsequent calls: if the item happened to be inserted at the index that is lower than the index of the next request, the next returned item (or several, if more items were inserted) will repeat the ones that were listed earlier. The caller should handle that properly, either by ignoring the repeated items or by restarting the listing operation from the beginning (index 0).

Fields§

§entry_index: u32
👎Deprecated

saturated uint32

Always aligned, size 32 bits

§directory_path: Path
👎Deprecated

uavcan.file.Path.1.0

Always aligned, size ranges from 8 to 904 bits

Trait Implementations§

source§

impl DataType for ListRequest

source§

const EXTENT_BYTES: Option<u32> = _

This type is delimited with an extent of 300 bytes.

source§

impl Deserialize for ListRequest

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 ListRequest

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 ListRequest

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.