pub struct CoAPRunner<'a, const CONCURRENT_REQUESTS: usize> { /* private fields */ }
Expand description

Access to the server side of a CoAPShared

This needs to be [.run()] both in order to serve peers and to make progress on any requests issued through the CoAPRuntimeClient on the same Shared.

Implementations§

source§

impl<'a, const CONCURRENT_REQUESTS: usize> CoAPRunner<'a, CONCURRENT_REQUESTS>

source

pub async fn run<Socket, Handler, RandomSource>( &self, socket: &mut Socket, handler: &mut Handler, rand: &mut RandomSource ) -> Result<(), Socket::Error>
where Socket: UnconnectedUdp + ?Sized, Handler: Handler, RandomSource: RngCore,

Service the socket, sending any incoming requests to the handler, simultaneously taking care to interact with the structures shared with the client parts to send out the requests and file back the responses.

If any error occurs on the socket, this terminates.

Auto Trait Implementations§

§

impl<'a, const CONCURRENT_REQUESTS: usize> !RefUnwindSafe for CoAPRunner<'a, CONCURRENT_REQUESTS>

§

impl<'a, const CONCURRENT_REQUESTS: usize> !Send for CoAPRunner<'a, CONCURRENT_REQUESTS>

§

impl<'a, const CONCURRENT_REQUESTS: usize> !Sync for CoAPRunner<'a, CONCURRENT_REQUESTS>

§

impl<'a, const CONCURRENT_REQUESTS: usize> Unpin for CoAPRunner<'a, CONCURRENT_REQUESTS>

§

impl<'a, const CONCURRENT_REQUESTS: usize> !UnwindSafe for CoAPRunner<'a, CONCURRENT_REQUESTS>

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

§

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.