pub struct TransportRunner<'a, C> { /* private fields */ }Expand description
The Matter Transport Runner, responsible for running the network transport by processing incoming and ougoing packets and thus also managing sessions and exchanges.
The transport runner is wrapping the whole Matter Object, because it needs access to various states, like sessions, fabrics and the transport buffers / state itself.
Implementations§
Source§impl<'a, C> TransportRunner<'a, C>where
C: Crypto,
impl<'a, C> TransportRunner<'a, C>where
C: Crypto,
Sourcepub const fn new(matter: &'a Matter<'a>, crypto: C) -> TransportRunner<'a, C>
pub const fn new(matter: &'a Matter<'a>, crypto: C) -> TransportRunner<'a, C>
Create a new TransportRunner instance with the given Matter instance and Crypto implementation.
Sourcepub async fn run<S, R, M>(
&mut self,
send: S,
recv: R,
multicast: M,
) -> Result<(), Error>
pub async fn run<S, R, M>( &mut self, send: S, recv: R, multicast: M, ) -> Result<(), Error>
Run the transport runner with the given network send, receive and multicast implementations.
The multicast implementation is only used to manage group (multicast)
membership, so without the groups feature it is accepted but never used.
Auto Trait Implementations§
impl<'a, C> !RefUnwindSafe for TransportRunner<'a, C>
impl<'a, C> !Send for TransportRunner<'a, C>
impl<'a, C> !Sync for TransportRunner<'a, C>
impl<'a, C> !UnwindSafe for TransportRunner<'a, C>
impl<'a, C> Freeze for TransportRunner<'a, C>where
C: Freeze,
impl<'a, C> Unpin for TransportRunner<'a, C>where
C: Unpin,
impl<'a, C> UnsafeUnpin for TransportRunner<'a, C>where
C: UnsafeUnpin,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T, I> IntoFallibleInit<T> for Iwhere
I: Init<T>,
impl<T, I> IntoFallibleInit<T> for Iwhere
I: Init<T>,
Source§fn into_fallible<E>(self) -> impl Init<T, E>
fn into_fallible<E>(self) -> impl Init<T, E>
Convert the infallible initializer to a fallible one.
Source§impl<Source, Target> OctetsInto<Target> for Sourcewhere
Target: OctetsFrom<Source>,
impl<Source, Target> OctetsInto<Target> for Sourcewhere
Target: OctetsFrom<Source>,
type Error = <Target as OctetsFrom<Source>>::Error
Source§fn try_octets_into(
self,
) -> Result<Target, <Source as OctetsInto<Target>>::Error>
fn try_octets_into( self, ) -> Result<Target, <Source as OctetsInto<Target>>::Error>
Performs the conversion.
Source§fn octets_into(self) -> Target
fn octets_into(self) -> Target
Performs an infallible conversion.