Struct ntex_mqtt::v5::MqttServer

source ·
pub struct MqttServer<St, C, Cn, P> { /* private fields */ }
Expand description

Mqtt Server

Implementations§

source§

impl<St, C> MqttServer<St, C, DefaultControlService<St, C::Error>, DefaultPublishService<St, C::Error>>where C: ServiceFactory<Handshake, Response = HandshakeAck<St>>, C::Error: Debug,

source

pub fn new<F>(handshake: F) -> Selfwhere F: IntoServiceFactory<C, Handshake>,

Create server factory and provide handshake service

source§

impl<St, C, Cn, P> MqttServer<St, C, Cn, P>where St: 'static, C: ServiceFactory<Handshake, Response = HandshakeAck<St>> + 'static, C::Error: Debug, Cn: ServiceFactory<ControlMessage<C::Error>, Session<St>, Response = ControlResult> + 'static, P: ServiceFactory<Publish, Session<St>, Response = PublishAck> + 'static,

source

pub fn handshake_timeout(self, timeout: Seconds) -> Self

Set handshake timeout.

Handshake includes connect packet and response connect-ack. By default handshake timeuot is disabled.

source

pub fn disconnect_timeout(self, val: Seconds) -> Self

Set server connection disconnect timeout.

Defines a timeout for disconnect connection. If a disconnect procedure does not complete within this time, the connection get dropped.

To disable timeout set value to 0.

By default disconnect timeout is set to 3 seconds.

source

pub fn max_size(self, size: u32) -> Self

Set max inbound frame size.

If max size is set to 0, size is unlimited. By default max size is set to 0

source

pub fn receive_max(self, val: u16) -> Self

Set receive max

Number of in-flight publish packets. By default receive max is set to 15 packets. To disable timeout set value to 0.

source

pub fn max_topic_alias(self, val: u16) -> Self

Number of topic aliases.

By default value is set to 32

source

pub fn max_qos(self, qos: QoS) -> Self

Set server max qos setting.

By default max qos is not set.

source

pub fn max_inflight_size(self, val: usize) -> Self

Total size of in-flight messages.

By default total in-flight size is set to 64Kb

source

pub fn control<F, Srv>(self, service: F) -> MqttServer<St, C, Srv, P>where F: IntoServiceFactory<Srv, ControlMessage<C::Error>, Session<St>>, Srv: ServiceFactory<ControlMessage<C::Error>, Session<St>, Response = ControlResult> + 'static, C::Error: From<Srv::Error> + From<Srv::InitError>,

Service to handle control packets

All control packets are processed sequentially, max number of buffered control packets is 16.

source

pub fn publish<F, Srv>(self, publish: F) -> MqttServer<St, C, Cn, Srv>where F: IntoServiceFactory<Srv, Publish, Session<St>>, C::Error: From<Srv::Error> + From<Srv::InitError>, Srv: ServiceFactory<Publish, Session<St>, Response = PublishAck> + 'static, Srv::Error: Debug, PublishAck: TryFrom<Srv::Error, Error = C::Error>,

Set service to handle publish packets and create mqtt server factory

source§

impl<St, C, Cn, P> MqttServer<St, C, Cn, P>where St: 'static, C: ServiceFactory<Handshake, Response = HandshakeAck<St>> + 'static, C::Error: From<Cn::Error> + From<Cn::InitError> + From<P::Error> + From<P::InitError> + Debug, Cn: ServiceFactory<ControlMessage<C::Error>, Session<St>, Response = ControlResult> + 'static, P: ServiceFactory<Publish, Session<St>, Response = PublishAck> + 'static, P::Error: Debug, PublishAck: TryFrom<P::Error, Error = C::Error>,

source

pub fn finish( self ) -> MqttServer<Session<St>, impl ServiceFactory<IoBoxed, Response = (IoBoxed, Rc<MqttShared>, Session<St>, Seconds), Error = MqttError<C::Error>, InitError = C::InitError>, impl ServiceFactory<DispatchItem<Rc<MqttShared>>, Session<St>, Response = Option<Packet>, Error = MqttError<C::Error>, InitError = MqttError<C::Error>>, Rc<MqttShared>>

Finish server configuration and create mqtt server factory

Auto Trait Implementations§

§

impl<St, C, Cn, P> !RefUnwindSafe for MqttServer<St, C, Cn, P>

§

impl<St, C, Cn, P> !Send for MqttServer<St, C, Cn, P>

§

impl<St, C, Cn, P> !Sync for MqttServer<St, C, Cn, P>

§

impl<St, C, Cn, P> Unpin for MqttServer<St, C, Cn, P>where C: Unpin, Cn: Unpin, P: Unpin, St: Unpin,

§

impl<St, C, Cn, P> !UnwindSafe for MqttServer<St, C, Cn, P>

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

const: unstable · source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

const: unstable · source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

const: unstable · source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

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

const: unstable · 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<T> for T

§

type Output = T

Should always be Self
source§

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

§

type Error = Infallible

The type returned in the event of a conversion error.
const: unstable · source§

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

Performs the conversion.
source§

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

§

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

The type returned in the event of a conversion error.
const: unstable · source§

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

Performs the conversion.