Struct riot_wrappers::bluetil::Ad

source ·
pub struct Ad<B: AsRef<[u8]>>(/* private fields */);
Available on riot_module_bluetil_ad only.
Expand description

Wrapper around bluetil_ad (BLE Advertising Data)

This is implemented as a possibly owned buffer, as that should make usage straightforward both for read-only data (not practically usable yet) and for writing; it remains to be seen whether that’s viable.

Implementations§

source§

impl<B: AsRef<[u8]>> Ad<B>

source

pub fn destroy(self) -> B

Reclaim the buffer that the AD was built around.

This is particularly useful when an AD object was populated, and in the end the buffer needs to be obtained in order to send it.

source§

impl<const L: usize> Ad<Vec<u8, L>>

source

pub fn new() -> Self

Create an empty AD object around owned memory; the size is given by the type parameter.

source

pub fn add_flags(&mut self, flags: u32) -> Result<(), Error>

Add a “flags” field with the given flag value to the AD (convenience function)

source

pub fn add(&mut self, type_: u32, data: &[u8]) -> Result<(), Error>

Add an arbitrary typed field to the AD

source§

impl Ad<Vec<u8, 31>>

source

pub fn new_maximal() -> Self

Create an empty AD object around owned memory with the maximum sendable size.

This is often more convenient than new as it’s not too large anyway (31 bytes).

Auto Trait Implementations§

§

impl<B> RefUnwindSafe for Ad<B>
where B: RefUnwindSafe,

§

impl<B> Send for Ad<B>
where B: Send,

§

impl<B> Sync for Ad<B>
where B: Sync,

§

impl<B> Unpin for Ad<B>
where B: Unpin,

§

impl<B> UnwindSafe for Ad<B>
where B: UnwindSafe,

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

source§

fn from(t: T) -> T

Returns the argument unchanged.

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

source§

fn into_switch<ActiveLevel>(self) -> Switch<T, ActiveLevel>

Consumes the IoPin returning a Switch of the appropriate ActiveLevel. Read more
source§

fn into_active_low_switch(self) -> Switch<Self, ActiveLow>
where Self: Sized,

Consumes the IoPin returning a Switch<IoPin, ActiveLow>. Read more
source§

fn into_active_high_switch(self) -> Switch<Self, ActiveHigh>
where Self: Sized,

Consumes the IoPin returning a Switch<IoPin, ActiveHigh>. Read more
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T, U> TryFrom<U> for T
where 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 T
where 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.