Struct ntex_mqtt::MqttServer
source · pub struct MqttServer<V3, V5, Err, InitErr> { /* private fields */ }
Expand description
Mqtt Server
Implementations§
source§impl<Err, InitErr> MqttServer<DefaultProtocolServer<Err, InitErr>, DefaultProtocolServer<Err, InitErr>, Err, InitErr>
impl<Err, InitErr> MqttServer<DefaultProtocolServer<Err, InitErr>, DefaultProtocolServer<Err, InitErr>, Err, InitErr>
source§impl<V3, V5, Err, InitErr> MqttServer<V3, V5, Err, InitErr>
impl<V3, V5, Err, InitErr> MqttServer<V3, V5, Err, InitErr>
sourcepub fn handshake_timeout(self, timeout: Seconds) -> Self
pub fn handshake_timeout(self, timeout: Seconds) -> Self
Set handshake timeout.
Handshake includes connect
packet.
By default handshake timeuot is 10 seconds.
source§impl<V3, V5, Err, InitErr> MqttServer<V3, V5, Err, InitErr>where
V3: ServiceFactory<(IoBoxed, Deadline), Response = (), Error = MqttError<Err>, InitError = InitErr>,
V5: ServiceFactory<(IoBoxed, Deadline), Response = (), Error = MqttError<Err>, InitError = InitErr>,
impl<V3, V5, Err, InitErr> MqttServer<V3, V5, Err, InitErr>where
V3: ServiceFactory<(IoBoxed, Deadline), Response = (), Error = MqttError<Err>, InitError = InitErr>,
V5: ServiceFactory<(IoBoxed, Deadline), Response = (), Error = MqttError<Err>, InitError = InitErr>,
sourcepub fn v3<St, C, Cn, P>(
self,
service: MqttServer<St, C, Cn, P>
) -> MqttServer<impl ServiceFactory<(IoBoxed, Deadline), Response = (), Error = MqttError<Err>, InitError = InitErr>, V5, Err, InitErr>where
St: 'static,
C: ServiceFactory<Handshake, Response = HandshakeAck<St>, Error = Err, InitError = InitErr> + 'static,
Cn: ServiceFactory<ControlMessage<Err>, Session<St>, Response = ControlResult> + 'static,
P: ServiceFactory<Publish, Session<St>, Response = ()> + 'static,
C::Error: From<Cn::Error> + From<Cn::InitError> + From<P::Error> + From<P::InitError> + Debug,
pub fn v3<St, C, Cn, P>(
self,
service: MqttServer<St, C, Cn, P>
) -> MqttServer<impl ServiceFactory<(IoBoxed, Deadline), Response = (), Error = MqttError<Err>, InitError = InitErr>, V5, Err, InitErr>where
St: 'static,
C: ServiceFactory<Handshake, Response = HandshakeAck<St>, Error = Err, InitError = InitErr> + 'static,
Cn: ServiceFactory<ControlMessage<Err>, Session<St>, Response = ControlResult> + 'static,
P: ServiceFactory<Publish, Session<St>, Response = ()> + 'static,
C::Error: From<Cn::Error> + From<Cn::InitError> + From<P::Error> + From<P::InitError> + Debug,
Service to handle v3 protocol
sourcepub fn v3_variants(
self,
service: Selector<Err, InitErr>
) -> MqttServer<impl ServiceFactory<(IoBoxed, Deadline), Response = (), Error = MqttError<Err>, InitError = InitErr>, V5, Err, InitErr>where
Err: 'static,
InitErr: 'static,
pub fn v3_variants(
self,
service: Selector<Err, InitErr>
) -> MqttServer<impl ServiceFactory<(IoBoxed, Deadline), Response = (), Error = MqttError<Err>, InitError = InitErr>, V5, Err, InitErr>where
Err: 'static,
InitErr: 'static,
Service to handle v3 protocol
sourcepub fn v5<St, C, Cn, P>(
self,
service: MqttServer<St, C, Cn, P>
) -> MqttServer<V3, impl ServiceFactory<(IoBoxed, Deadline), Response = (), Error = MqttError<Err>, InitError = InitErr>, Err, InitErr>where
St: 'static,
C: ServiceFactory<Handshake, Response = HandshakeAck<St>, Error = Err, InitError = InitErr> + 'static,
Cn: ServiceFactory<ControlMessage<Err>, Session<St>, Response = ControlResult> + 'static,
P: ServiceFactory<Publish, Session<St>, Response = PublishAck> + 'static,
P::Error: Debug,
C::Error: From<Cn::Error> + From<Cn::InitError> + From<P::Error> + From<P::InitError> + Debug,
PublishAck: TryFrom<P::Error, Error = C::Error>,
pub fn v5<St, C, Cn, P>(
self,
service: MqttServer<St, C, Cn, P>
) -> MqttServer<V3, impl ServiceFactory<(IoBoxed, Deadline), Response = (), Error = MqttError<Err>, InitError = InitErr>, Err, InitErr>where
St: 'static,
C: ServiceFactory<Handshake, Response = HandshakeAck<St>, Error = Err, InitError = InitErr> + 'static,
Cn: ServiceFactory<ControlMessage<Err>, Session<St>, Response = ControlResult> + 'static,
P: ServiceFactory<Publish, Session<St>, Response = PublishAck> + 'static,
P::Error: Debug,
C::Error: From<Cn::Error> + From<Cn::InitError> + From<P::Error> + From<P::InitError> + Debug,
PublishAck: TryFrom<P::Error, Error = C::Error>,
Service to handle v5 protocol
sourcepub fn v5_variants<St, C, Cn, P>(
self,
service: Selector<Err, InitErr>
) -> MqttServer<V3, impl ServiceFactory<(IoBoxed, Deadline), Response = (), Error = MqttError<Err>, InitError = InitErr>, Err, InitErr>where
Err: 'static,
InitErr: 'static,
pub fn v5_variants<St, C, Cn, P>(
self,
service: Selector<Err, InitErr>
) -> MqttServer<V3, impl ServiceFactory<(IoBoxed, Deadline), Response = (), Error = MqttError<Err>, InitError = InitErr>, Err, InitErr>where
Err: 'static,
InitErr: 'static,
Service to handle v5 protocol
Trait Implementations§
source§impl<Err, InitErr> Default for MqttServer<DefaultProtocolServer<Err, InitErr>, DefaultProtocolServer<Err, InitErr>, Err, InitErr>
impl<Err, InitErr> Default for MqttServer<DefaultProtocolServer<Err, InitErr>, DefaultProtocolServer<Err, InitErr>, Err, InitErr>
source§impl<F, V3, V5, Err, InitErr> ServiceFactory<Io<F>, ()> for MqttServer<V3, V5, Err, InitErr>where
F: Filter,
V3: ServiceFactory<(IoBoxed, Deadline), Response = (), Error = MqttError<Err>, InitError = InitErr> + 'static,
V5: ServiceFactory<(IoBoxed, Deadline), Response = (), Error = MqttError<Err>, InitError = InitErr> + 'static,
Err: 'static,
InitErr: 'static,
impl<F, V3, V5, Err, InitErr> ServiceFactory<Io<F>, ()> for MqttServer<V3, V5, Err, InitErr>where
F: Filter,
V3: ServiceFactory<(IoBoxed, Deadline), Response = (), Error = MqttError<Err>, InitError = InitErr> + 'static,
V5: ServiceFactory<(IoBoxed, Deadline), Response = (), Error = MqttError<Err>, InitError = InitErr> + 'static,
Err: 'static,
InitErr: 'static,
§type Service = MqttServerImpl<<V3 as ServiceFactory<(IoBoxed, Deadline), ()>>::Service, <V5 as ServiceFactory<(IoBoxed, Deadline), ()>>::Service, Err>
type Service = MqttServerImpl<<V3 as ServiceFactory<(IoBoxed, Deadline), ()>>::Service, <V5 as ServiceFactory<(IoBoxed, Deadline), ()>>::Service, Err>
The kind of
Service
created by this factory.§type Future<'f> = Pin<Box<dyn Future<Output = Result<MqttServerImpl<<V3 as ServiceFactory<(IoBoxed, Deadline), ()>>::Service, <V5 as ServiceFactory<(IoBoxed, Deadline), ()>>::Service, Err>, InitErr>> + 'f, Global>>
type Future<'f> = Pin<Box<dyn Future<Output = Result<MqttServerImpl<<V3 as ServiceFactory<(IoBoxed, Deadline), ()>>::Service, <V5 as ServiceFactory<(IoBoxed, Deadline), ()>>::Service, Err>, InitErr>> + 'f, Global>>
The future of the
ServiceFactory
instance.source§fn create(&self, _: ()) -> Self::Future<'_>
fn create(&self, _: ()) -> Self::Future<'_>
Create and return a new service value asynchronously.
§fn map<F, Res>(self, f: F) -> MapFactory<Self, F, Req, Res, Cfg>where
Self: Sized,
F: Fn(Self::Response) -> Res + Clone,
fn map<F, Res>(self, f: F) -> MapFactory<Self, F, Req, Res, Cfg>where
Self: Sized,
F: Fn(Self::Response) -> Res + Clone,
Map this service’s output to a different type, returning a new service
of the resulting type.
§fn map_err<F, E>(self, f: F) -> MapErrFactory<Self, Req, Cfg, F, E>where
Self: Sized,
F: Fn(Self::Error) -> E + Clone,
fn map_err<F, E>(self, f: F) -> MapErrFactory<Self, Req, Cfg, F, E>where
Self: Sized,
F: Fn(Self::Error) -> E + Clone,
Map this service’s error to a different error, returning a new service.
§fn map_init_err<F, E>(self, f: F) -> MapInitErr<Self, Req, Cfg, F, E>where
Self: Sized,
F: Fn(Self::InitError) -> E + Clone,
fn map_init_err<F, E>(self, f: F) -> MapInitErr<Self, Req, Cfg, F, E>where
Self: Sized,
F: Fn(Self::InitError) -> E + Clone,
Map this factory’s init error to a different error, returning a new service.
source§impl<V3, V5, Err, InitErr> ServiceFactory<IoBoxed, ()> for MqttServer<V3, V5, Err, InitErr>where
V3: ServiceFactory<(IoBoxed, Deadline), Response = (), Error = MqttError<Err>, InitError = InitErr> + 'static,
V5: ServiceFactory<(IoBoxed, Deadline), Response = (), Error = MqttError<Err>, InitError = InitErr> + 'static,
Err: 'static,
InitErr: 'static,
impl<V3, V5, Err, InitErr> ServiceFactory<IoBoxed, ()> for MqttServer<V3, V5, Err, InitErr>where
V3: ServiceFactory<(IoBoxed, Deadline), Response = (), Error = MqttError<Err>, InitError = InitErr> + 'static,
V5: ServiceFactory<(IoBoxed, Deadline), Response = (), Error = MqttError<Err>, InitError = InitErr> + 'static,
Err: 'static,
InitErr: 'static,
§type Service = MqttServerImpl<<V3 as ServiceFactory<(IoBoxed, Deadline), ()>>::Service, <V5 as ServiceFactory<(IoBoxed, Deadline), ()>>::Service, Err>
type Service = MqttServerImpl<<V3 as ServiceFactory<(IoBoxed, Deadline), ()>>::Service, <V5 as ServiceFactory<(IoBoxed, Deadline), ()>>::Service, Err>
The kind of
Service
created by this factory.§type Future<'f> = Pin<Box<dyn Future<Output = Result<MqttServerImpl<<V3 as ServiceFactory<(IoBoxed, Deadline), ()>>::Service, <V5 as ServiceFactory<(IoBoxed, Deadline), ()>>::Service, Err>, InitErr>> + 'f, Global>>
type Future<'f> = Pin<Box<dyn Future<Output = Result<MqttServerImpl<<V3 as ServiceFactory<(IoBoxed, Deadline), ()>>::Service, <V5 as ServiceFactory<(IoBoxed, Deadline), ()>>::Service, Err>, InitErr>> + 'f, Global>>
The future of the
ServiceFactory
instance.source§fn create(&self, _: ()) -> Self::Future<'_>
fn create(&self, _: ()) -> Self::Future<'_>
Create and return a new service value asynchronously.
§fn map<F, Res>(self, f: F) -> MapFactory<Self, F, Req, Res, Cfg>where
Self: Sized,
F: Fn(Self::Response) -> Res + Clone,
fn map<F, Res>(self, f: F) -> MapFactory<Self, F, Req, Res, Cfg>where
Self: Sized,
F: Fn(Self::Response) -> Res + Clone,
Map this service’s output to a different type, returning a new service
of the resulting type.
§fn map_err<F, E>(self, f: F) -> MapErrFactory<Self, Req, Cfg, F, E>where
Self: Sized,
F: Fn(Self::Error) -> E + Clone,
fn map_err<F, E>(self, f: F) -> MapErrFactory<Self, Req, Cfg, F, E>where
Self: Sized,
F: Fn(Self::Error) -> E + Clone,
Map this service’s error to a different error, returning a new service.
§fn map_init_err<F, E>(self, f: F) -> MapInitErr<Self, Req, Cfg, F, E>where
Self: Sized,
F: Fn(Self::InitError) -> E + Clone,
fn map_init_err<F, E>(self, f: F) -> MapInitErr<Self, Req, Cfg, F, E>where
Self: Sized,
F: Fn(Self::InitError) -> E + Clone,
Map this factory’s init error to a different error, returning a new service.
Auto Trait Implementations§
impl<V3, V5, Err, InitErr> RefUnwindSafe for MqttServer<V3, V5, Err, InitErr>where
Err: RefUnwindSafe,
InitErr: RefUnwindSafe,
V3: RefUnwindSafe,
V5: RefUnwindSafe,
impl<V3, V5, Err, InitErr> Send for MqttServer<V3, V5, Err, InitErr>where
Err: Send,
InitErr: Send,
V3: Send,
V5: Send,
impl<V3, V5, Err, InitErr> Sync for MqttServer<V3, V5, Err, InitErr>where
Err: Sync,
InitErr: Sync,
V3: Sync,
V5: Sync,
impl<V3, V5, Err, InitErr> Unpin for MqttServer<V3, V5, Err, InitErr>where
Err: Unpin,
InitErr: Unpin,
V3: Unpin,
V5: Unpin,
impl<V3, V5, Err, InitErr> UnwindSafe for MqttServer<V3, V5, Err, InitErr>where
Err: UnwindSafe,
InitErr: UnwindSafe,
V3: UnwindSafe,
V5: UnwindSafe,
Blanket Implementations§
§impl<T, Req, Cfg> IntoServiceFactory<T, Req, Cfg> for Twhere
T: ServiceFactory<Req, Cfg>,
impl<T, Req, Cfg> IntoServiceFactory<T, Req, Cfg> for Twhere
T: ServiceFactory<Req, Cfg>,
§fn into_factory(self) -> T
fn into_factory(self) -> T
Convert
Self
to a ServiceFactory