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 protocol_version_timeout(self, timeout: Seconds) -> Self
pub fn protocol_version_timeout(self, timeout: Seconds) -> Self
Set client timeout reading protocol version.
Defines a timeout for reading protocol version. If a client does not transmit version of the protocol within this time, the connection is terminated with Mqtt::Handshake(HandshakeError::Timeout) error.
By default, timeuot is 5 seconds.
source§impl<V3, V5, Err, InitErr> MqttServer<V3, V5, Err, InitErr>where
Err: Debug,
V3: ServiceFactory<IoBoxed, Response = (), Error = MqttError<Err>, InitError = InitErr>,
V5: ServiceFactory<IoBoxed, Response = (), Error = MqttError<Err>, InitError = InitErr>,
impl<V3, V5, Err, InitErr> MqttServer<V3, V5, Err, InitErr>where
Err: Debug,
V3: ServiceFactory<IoBoxed, Response = (), Error = MqttError<Err>, InitError = InitErr>,
V5: ServiceFactory<IoBoxed, Response = (), Error = MqttError<Err>, InitError = InitErr>,
sourcepub fn v3<St, H, P, M, Codec>(
self,
service: MqttServer<St, H, P, M, Codec>,
) -> MqttServer<impl ServiceFactory<IoBoxed, Response = (), Error = MqttError<Err>, InitError = InitErr>, V5, Err, InitErr>where
St: 'static,
H: ServiceFactory<IoBoxed, Response = (IoBoxed, Codec, St, Seconds), Error = MqttError<Err>, InitError = InitErr> + 'static,
P: ServiceFactory<DispatchItem<Codec>, St, Response = Option<<Codec as Encoder>::Item>, Error = MqttError<Err>, InitError = MqttError<Err>> + 'static,
M: Middleware<P::Service>,
M::Service: Service<DispatchItem<Codec>, Response = Option<<Codec as Encoder>::Item>, Error = MqttError<Err>> + 'static,
Codec: Encoder + Decoder + Clone + 'static,
pub fn v3<St, H, P, M, Codec>(
self,
service: MqttServer<St, H, P, M, Codec>,
) -> MqttServer<impl ServiceFactory<IoBoxed, Response = (), Error = MqttError<Err>, InitError = InitErr>, V5, Err, InitErr>where
St: 'static,
H: ServiceFactory<IoBoxed, Response = (IoBoxed, Codec, St, Seconds), Error = MqttError<Err>, InitError = InitErr> + 'static,
P: ServiceFactory<DispatchItem<Codec>, St, Response = Option<<Codec as Encoder>::Item>, Error = MqttError<Err>, InitError = MqttError<Err>> + 'static,
M: Middleware<P::Service>,
M::Service: Service<DispatchItem<Codec>, Response = Option<<Codec as Encoder>::Item>, Error = MqttError<Err>> + 'static,
Codec: Encoder + Decoder + Clone + 'static,
Service to handle v3 protocol
sourcepub fn v5<St, H, P, M, Codec>(
self,
service: MqttServer<St, H, P, M, Codec>,
) -> MqttServer<V3, impl ServiceFactory<IoBoxed, Response = (), Error = MqttError<Err>, InitError = InitErr>, Err, InitErr>where
St: 'static,
H: ServiceFactory<IoBoxed, Response = (IoBoxed, Codec, St, Seconds), Error = MqttError<Err>, InitError = InitErr> + 'static,
P: ServiceFactory<DispatchItem<Codec>, St, Response = Option<<Codec as Encoder>::Item>, Error = MqttError<Err>, InitError = MqttError<Err>> + 'static,
M: Middleware<P::Service>,
M::Service: Service<DispatchItem<Codec>, Response = Option<<Codec as Encoder>::Item>, Error = MqttError<Err>> + 'static,
Codec: Encoder + Decoder + Clone + 'static,
pub fn v5<St, H, P, M, Codec>(
self,
service: MqttServer<St, H, P, M, Codec>,
) -> MqttServer<V3, impl ServiceFactory<IoBoxed, Response = (), Error = MqttError<Err>, InitError = InitErr>, Err, InitErr>where
St: 'static,
H: ServiceFactory<IoBoxed, Response = (IoBoxed, Codec, St, Seconds), Error = MqttError<Err>, InitError = InitErr> + 'static,
P: ServiceFactory<DispatchItem<Codec>, St, Response = Option<<Codec as Encoder>::Item>, Error = MqttError<Err>, InitError = MqttError<Err>> + 'static,
M: Middleware<P::Service>,
M::Service: Service<DispatchItem<Codec>, Response = Option<<Codec as Encoder>::Item>, Error = MqttError<Err>> + 'static,
Codec: Encoder + Decoder + Clone + '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, Response = (), Error = MqttError<Err>, InitError = InitErr> + 'static,
V5: ServiceFactory<IoBoxed, 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, Response = (), Error = MqttError<Err>, InitError = InitErr> + 'static,
V5: ServiceFactory<IoBoxed, Response = (), Error = MqttError<Err>, InitError = InitErr> + 'static,
Err: 'static,
InitErr: 'static,
source§type Service = MqttServerImpl<<V3 as ServiceFactory<IoBoxed>>::Service, <V5 as ServiceFactory<IoBoxed>>::Service, Err>
type Service = MqttServerImpl<<V3 as ServiceFactory<IoBoxed>>::Service, <V5 as ServiceFactory<IoBoxed>>::Service, Err>
The kind of
Service
created by this factory.source§async fn create(&self, _: ()) -> Result<Self::Service, Self::InitError>
async fn create(&self, _: ()) -> Result<Self::Service, Self::InitError>
Create and return a new service value asynchronously.
source§async fn pipeline(
&self,
cfg: Cfg,
) -> Result<Pipeline<Self::Service>, Self::InitError>where
Self: Sized,
async fn pipeline(
&self,
cfg: Cfg,
) -> Result<Pipeline<Self::Service>, Self::InitError>where
Self: Sized,
Create and return a new service value asynchronously and wrap into a container
source§fn map<F, Res>(
self,
f: F,
) -> ServiceChainFactory<MapFactory<Self, F, Req, Res, Cfg>, Req, Cfg>
fn map<F, Res>( self, f: F, ) -> ServiceChainFactory<MapFactory<Self, F, Req, Res, Cfg>, Req, Cfg>
Map this service’s output to a different type, returning a new service
of the resulting type.
source§fn map_err<F, E>(
self,
f: F,
) -> ServiceChainFactory<MapErrFactory<Self, Req, Cfg, F, E>, Req, Cfg>
fn map_err<F, E>( self, f: F, ) -> ServiceChainFactory<MapErrFactory<Self, Req, Cfg, F, E>, Req, Cfg>
Map this service’s error to a different error, returning a new service.
source§fn map_init_err<F, E>(
self,
f: F,
) -> ServiceChainFactory<MapInitErr<Self, Req, Cfg, F, E>, Req, Cfg>
fn map_init_err<F, E>( self, f: F, ) -> ServiceChainFactory<MapInitErr<Self, Req, Cfg, F, E>, Req, Cfg>
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, Response = (), Error = MqttError<Err>, InitError = InitErr> + 'static,
V5: ServiceFactory<IoBoxed, 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, Response = (), Error = MqttError<Err>, InitError = InitErr> + 'static,
V5: ServiceFactory<IoBoxed, Response = (), Error = MqttError<Err>, InitError = InitErr> + 'static,
Err: 'static,
InitErr: 'static,
source§type Service = MqttServerImpl<<V3 as ServiceFactory<IoBoxed>>::Service, <V5 as ServiceFactory<IoBoxed>>::Service, Err>
type Service = MqttServerImpl<<V3 as ServiceFactory<IoBoxed>>::Service, <V5 as ServiceFactory<IoBoxed>>::Service, Err>
The kind of
Service
created by this factory.source§async fn create(&self, _: ()) -> Result<Self::Service, Self::InitError>
async fn create(&self, _: ()) -> Result<Self::Service, Self::InitError>
Create and return a new service value asynchronously.
source§async fn pipeline(
&self,
cfg: Cfg,
) -> Result<Pipeline<Self::Service>, Self::InitError>where
Self: Sized,
async fn pipeline(
&self,
cfg: Cfg,
) -> Result<Pipeline<Self::Service>, Self::InitError>where
Self: Sized,
Create and return a new service value asynchronously and wrap into a container
source§fn map<F, Res>(
self,
f: F,
) -> ServiceChainFactory<MapFactory<Self, F, Req, Res, Cfg>, Req, Cfg>
fn map<F, Res>( self, f: F, ) -> ServiceChainFactory<MapFactory<Self, F, Req, Res, Cfg>, Req, Cfg>
Map this service’s output to a different type, returning a new service
of the resulting type.
source§fn map_err<F, E>(
self,
f: F,
) -> ServiceChainFactory<MapErrFactory<Self, Req, Cfg, F, E>, Req, Cfg>
fn map_err<F, E>( self, f: F, ) -> ServiceChainFactory<MapErrFactory<Self, Req, Cfg, F, E>, Req, Cfg>
Map this service’s error to a different error, returning a new service.
source§fn map_init_err<F, E>(
self,
f: F,
) -> ServiceChainFactory<MapInitErr<Self, Req, Cfg, F, E>, Req, Cfg>
fn map_init_err<F, E>( self, f: F, ) -> ServiceChainFactory<MapInitErr<Self, Req, Cfg, F, E>, Req, Cfg>
Map this factory’s init error to a different error, returning a new service.
Auto Trait Implementations§
impl<V3, V5, Err, InitErr> Freeze for MqttServer<V3, V5, Err, InitErr>
impl<V3, V5, Err, InitErr> RefUnwindSafe for MqttServer<V3, V5, Err, InitErr>
impl<V3, V5, Err, InitErr> Send for MqttServer<V3, V5, Err, InitErr>
impl<V3, V5, Err, InitErr> Sync for MqttServer<V3, V5, Err, InitErr>
impl<V3, V5, Err, InitErr> Unpin for MqttServer<V3, V5, Err, InitErr>
impl<V3, V5, Err, InitErr> UnwindSafe for MqttServer<V3, V5, Err, InitErr>
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
source§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>,
source§fn into_factory(self) -> T
fn into_factory(self) -> T
Convert
Self
to a ServiceFactory