pub struct EmptyHandler;Expand description
A handler that always fails with attribute / command not found.
Useful when chaining multiple handlers together as the end of the chain.
Implementations§
Source§impl EmptyHandler
impl EmptyHandler
Sourcepub const fn chain<M, H>(
self,
matcher: M,
handler: H,
) -> ChainedHandler<M, H, EmptyHandler>
pub const fn chain<M, H>( self, matcher: M, handler: H, ) -> ChainedHandler<M, H, EmptyHandler>
Chain the empty handler with another handler thus providing an “end of handler chain” fallback that errors out.
The returned chained handler works as follows:
- It will call the provided
handlerinstance if the provided matcher returnstruefor theReadContext/WriteContext/InvokeContextof the incoming operation - Otherwise, the empty handler would be invoked, causing the operation to error out.
Arguments:
matcher: A matcher that determines whether the handler should be invoked for the incoming operation.handler: The handler to be invoked if the matcher returnstrue.
Trait Implementations§
Source§impl AsyncHandler for EmptyHandler
impl AsyncHandler for EmptyHandler
Source§fn read_awaits(&self, _ctx: impl ReadContext) -> bool
fn read_awaits(&self, _ctx: impl ReadContext) -> bool
Provide information whether the handler will internally await while reading
the current value of the provided attribute. Read more
Source§fn write_awaits(&self, _ctx: impl WriteContext) -> bool
fn write_awaits(&self, _ctx: impl WriteContext) -> bool
Provide information whether the handler will internally await while updating
the value of the provided attribute. Read more
Source§fn invoke_awaits(&self, _ctx: impl InvokeContext) -> bool
fn invoke_awaits(&self, _ctx: impl InvokeContext) -> bool
Provide information whether the handler will internally await while invoking
the provided command. Read more
Source§fn read(
&self,
_ctx: impl ReadContext,
_reply: impl ReadReply,
) -> impl Future<Output = Result<(), Error>>
fn read( &self, _ctx: impl ReadContext, _reply: impl ReadReply, ) -> impl Future<Output = Result<(), Error>>
Read from the requested attribute and encode the result using the provided reply type.
Source§fn write(
&self,
_ctx: impl WriteContext,
) -> impl Future<Output = Result<(), Error>>
fn write( &self, _ctx: impl WriteContext, ) -> impl Future<Output = Result<(), Error>>
Write into the requested attribute using the provided data. Read more
Source§fn invoke(
&self,
_ctx: impl InvokeContext,
_reply: impl InvokeReply,
) -> impl Future<Output = Result<(), Error>>
fn invoke( &self, _ctx: impl InvokeContext, _reply: impl InvokeReply, ) -> impl Future<Output = Result<(), Error>>
Invoke the requested command with the provided data and encode the result using the provided reply type. Read more
Source§fn bump_dataver(&self, _ctx: impl MatchContext)
fn bump_dataver(&self, _ctx: impl MatchContext)
Bump the per-cluster
Dataver for the cluster handler matching
the supplied context endpoint_id / cluster_id.Source§fn lifecycle(
&self,
_ctx: impl HandlerContext,
_op: LifecycleOp,
) -> Result<(), Error>
fn lifecycle( &self, _ctx: impl HandlerContext, _op: LifecycleOp, ) -> Result<(), Error>
Process a lifecycle operation (
LifecycleOp). Read moreSource§impl Clone for EmptyHandler
impl Clone for EmptyHandler
Source§fn clone(&self) -> EmptyHandler
fn clone(&self) -> EmptyHandler
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for EmptyHandler
Source§impl Debug for EmptyHandler
impl Debug for EmptyHandler
impl Eq for EmptyHandler
Source§impl Handler for EmptyHandler
impl Handler for EmptyHandler
Source§fn read(
&self,
_ctx: impl ReadContext,
_reply: impl ReadReply,
) -> Result<(), Error>
fn read( &self, _ctx: impl ReadContext, _reply: impl ReadReply, ) -> Result<(), Error>
Read from the requested attribute and encode the result using the provided reply type.
Source§fn write(&self, _ctx: impl WriteContext) -> Result<(), Error>
fn write(&self, _ctx: impl WriteContext) -> Result<(), Error>
Write into the requested attribute using the provided data.
Source§fn invoke(
&self,
_ctx: impl InvokeContext,
_reply: impl InvokeReply,
) -> Result<(), Error>
fn invoke( &self, _ctx: impl InvokeContext, _reply: impl InvokeReply, ) -> Result<(), Error>
Invoke the requested command with the provided data and encode the result using the provided reply type.
Source§fn bump_dataver(&self, _ctx: impl MatchContext)
fn bump_dataver(&self, _ctx: impl MatchContext)
Bump the per-cluster
Dataver for the cluster handler matching
the supplied context endpoint_id / cluster_id.Source§fn lifecycle(
&self,
_ctx: impl HandlerContext,
_op: LifecycleOp,
) -> Result<(), Error>
fn lifecycle( &self, _ctx: impl HandlerContext, _op: LifecycleOp, ) -> Result<(), Error>
Process a lifecycle operation (
LifecycleOp). Read moreSource§impl Hash for EmptyHandler
impl Hash for EmptyHandler
impl NonBlockingHandler for EmptyHandler
Source§impl PartialEq for EmptyHandler
impl PartialEq for EmptyHandler
impl StructuralPartialEq for EmptyHandler
Auto Trait Implementations§
impl Freeze for EmptyHandler
impl RefUnwindSafe for EmptyHandler
impl Send for EmptyHandler
impl Sync for EmptyHandler
impl Unpin for EmptyHandler
impl UnsafeUnpin for EmptyHandler
impl UnwindSafe for EmptyHandler
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<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T, I> IntoFallibleInit<T> for Iwhere
I: Init<T>,
impl<T, I> IntoFallibleInit<T> for Iwhere
I: Init<T>,
Source§fn into_fallible<E>(self) -> impl Init<T, E>
fn into_fallible<E>(self) -> impl Init<T, E>
Convert the infallible initializer to a fallible one.
Source§impl<Source, Target> OctetsInto<Target> for Sourcewhere
Target: OctetsFrom<Source>,
impl<Source, Target> OctetsInto<Target> for Sourcewhere
Target: OctetsFrom<Source>,
type Error = <Target as OctetsFrom<Source>>::Error
Source§fn try_octets_into(
self,
) -> Result<Target, <Source as OctetsInto<Target>>::Error>
fn try_octets_into( self, ) -> Result<Target, <Source as OctetsInto<Target>>::Error>
Performs the conversion.
Source§fn octets_into(self) -> Target
fn octets_into(self) -> Target
Performs an infallible conversion.