PropSet

Struct PropSet 

Source
pub struct PropSet {
    values: HashMap<u32, Result<Vec<u8>, Status>>,
}
Expand description

Properties fetched together, each either answered or refused.

A refusal is an answer: an OPTIONAL property a device does not implement refuses the read, and over the mesh the unreachable half of the property space refuses every position. Both mean “absent”, which is why the accessors collapse them.

An empty value is not absent. Several properties spell “no fix”, “no threshold”, or “never tag” as zero octets, so Self::bytes hands back an empty slice rather than None when the device answered with one.

Fields§

§values: HashMap<u32, Result<Vec<u8>, Status>>

Implementations§

Source§

impl PropSet

Source

pub fn new() -> Self

Source

pub fn insert(&mut self, key: u32, answer: Result<Vec<u8>, Status>)

Source

pub fn answered(&self, key: u32) -> bool

Whether the device answered this property at all.

Source

pub fn bytes(&self, key: u32) -> Option<&[u8]>

The octets the device answered with, if it answered.

Source

pub fn non_empty(&self, key: u32) -> Option<&[u8]>

The octets, treating an empty answer as no answer.

For the properties where empty is the device saying it has nothing rather than saying zero.

Source

pub fn refusal(&self, key: u32) -> Option<Status>

The status a refused property came back with.

Source

pub fn bool(&self, key: u32) -> Option<bool>

Source

pub fn u8(&self, key: u32) -> Option<u8>

Source

pub fn i8(&self, key: u32) -> Option<i8>

Source

pub fn u16(&self, key: u32) -> Option<u16>

Source

pub fn i16(&self, key: u32) -> Option<i16>

Source

pub fn u32(&self, key: u32) -> Option<u32>

Source

pub fn i32(&self, key: u32) -> Option<i32>

Source

pub fn text(&self, key: u32) -> Option<String>

A STRING property, without the NUL the wire carries.

Source

pub fn key32(&self, key: u32) -> Option<[u8; 32]>

Trait Implementations§

Source§

impl Debug for PropSet

Source§

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

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

impl Default for PropSet

Source§

fn default() -> PropSet

Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

§

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

§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

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

§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
§

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

§

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

Mutably borrows from an owned value. Read more
§

impl<T> From<T> for T

§

fn from(t: T) -> T

Returns the argument unchanged.

§

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

§

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> Same for T

Source§

type Output = T

Should always be Self
§

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

§

type Error = Infallible

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

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

Performs the conversion.
§

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

§

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

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

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

Performs the conversion.
Source§

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