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 pipeline(&self, cfg: Cfg) -> CreatePipeline<'_, Self, Req, Cfg>where
Self: Sized,
fn pipeline(&self, cfg: Cfg) -> CreatePipeline<'_, Self, Req, Cfg>where Self: Sized,
Create and return a new service value asynchronously and wrap into a container
§fn map<F, Res>(
self,
f: F
) -> ServiceChainFactory<MapFactory<Self, F, Req, Res, Cfg>, Req, Cfg>where
Self: Sized,
F: Fn(Self::Response) -> Res + Clone,
fn map<F, Res>( self, f: F ) -> ServiceChainFactory<MapFactory<Self, F, Req, Res, Cfg>, Req, 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
) -> ServiceChainFactory<MapErrFactory<Self, Req, Cfg, F, E>, Req, Cfg>where
Self: Sized,
F: Fn(Self::Error) -> E + Clone,
fn map_err<F, E>( self, f: F ) -> ServiceChainFactory<MapErrFactory<Self, Req, Cfg, F, E>, Req, Cfg>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
) -> ServiceChainFactory<MapInitErr<Self, Req, Cfg, F, E>, Req, Cfg>where
Self: Sized,
F: Fn(Self::InitError) -> E + Clone,
fn map_init_err<F, E>( self, f: F ) -> ServiceChainFactory<MapInitErr<Self, Req, Cfg, F, E>, Req, Cfg>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 pipeline(&self, cfg: Cfg) -> CreatePipeline<'_, Self, Req, Cfg>where
Self: Sized,
fn pipeline(&self, cfg: Cfg) -> CreatePipeline<'_, Self, Req, Cfg>where Self: Sized,
Create and return a new service value asynchronously and wrap into a container
§fn map<F, Res>(
self,
f: F
) -> ServiceChainFactory<MapFactory<Self, F, Req, Res, Cfg>, Req, Cfg>where
Self: Sized,
F: Fn(Self::Response) -> Res + Clone,
fn map<F, Res>( self, f: F ) -> ServiceChainFactory<MapFactory<Self, F, Req, Res, Cfg>, Req, 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
) -> ServiceChainFactory<MapErrFactory<Self, Req, Cfg, F, E>, Req, Cfg>where
Self: Sized,
F: Fn(Self::Error) -> E + Clone,
fn map_err<F, E>( self, f: F ) -> ServiceChainFactory<MapErrFactory<Self, Req, Cfg, F, E>, Req, Cfg>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
) -> ServiceChainFactory<MapInitErr<Self, Req, Cfg, F, E>, Req, Cfg>where
Self: Sized,
F: Fn(Self::InitError) -> E + Clone,
fn map_init_err<F, E>( self, f: F ) -> ServiceChainFactory<MapInitErr<Self, Req, Cfg, F, E>, Req, Cfg>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§
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<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