Skip to main content

Connection

Struct Connection 

Source
pub struct Connection { /* private fields */ }
Expand description

An SMP protocol layer connection to a device.

In most cases this struct will not be used directly by the user, but instead it is used indirectly through MCUmgrClient.

Implementations§

Source§

impl Connection

Source

pub fn new<T: Transport + Send + 'static>(transport: T) -> Self

Creates a new SMP

Source

pub fn set_timeout(&self, timeout: Duration) -> Result<(), Report>

Changes the communication timeout.

When the device does not respond to packets within the set duration, an error will be raised.

Source

pub fn execute_command<R: McuMgrCommand>( &self, request: &R, ) -> Result<R::Response, ExecuteError>

Executes a given CBOR based SMP command.

Source

pub fn execute_raw_command( &self, write_operation: bool, group_id: u16, command_id: u8, data: &[u8], ) -> Result<Box<[u8]>, ExecuteError>

Executes a raw SMP command.

Same as Connection::execute_command, but the payload can be anything and must not necessarily be CBOR encoded.

Errors are also not decoded but instead will be returned as raw CBOR data.

Read Zephyr’s SMP Protocol Specification for more information.

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

Source§

type Output = T

Should always be Self
Source§

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

Source§

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>,

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