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,
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§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,
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,
sourcepub fn connect_timeout(self, timeout: Seconds) -> Self
pub fn connect_timeout(self, timeout: Seconds) -> Self
Set client timeout for first Connect
frame.
Defines a timeout for reading Connect
frame. If a client does not transmit
the entire frame within this time, the connection is terminated with
Mqtt::Handshake(HandshakeError::Timeout) error.
By default, connect timeout is disabled.
sourcepub fn disconnect_timeout(self, val: Seconds) -> Self
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.
sourcepub fn frame_read_rate(
self,
timeout: Seconds,
max_timeout: Seconds,
rate: u16
) -> Self
pub fn frame_read_rate( self, timeout: Seconds, max_timeout: Seconds, rate: u16 ) -> Self
Set read rate parameters for single frame.
Set read timeout, max timeout and rate for reading payload. If the client
sends rate
amount of data within timeout
period of time, extend timeout by timeout
seconds.
But no more than max_timeout
timeout.
By default frame read rate is disabled.
sourcepub fn max_size(self, size: u32) -> Self
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
sourcepub fn receive_max(self, val: u16) -> Self
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.
sourcepub fn max_topic_alias(self, val: u16) -> Self
pub fn max_topic_alias(self, val: u16) -> Self
Number of topic aliases.
By default value is set to 32
sourcepub fn max_qos(self, qos: QoS) -> Self
pub fn max_qos(self, qos: QoS) -> Self
Set server max qos setting.
By default max qos is not set.
sourcepub fn max_inflight_size(self, val: usize) -> Self
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
sourcepub 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>,
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.
sourcepub 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>,
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>,
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>,
sourcepub 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>>
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