Skip to main content

ClusterHandler

Trait ClusterHandler 

Source
pub trait ClusterHandler {
    const CLUSTER: Cluster<'static>;

    // Required methods
    fn dataver(&self) -> u32;
    fn dataver_changed(&self);
    fn set_time(&self, ctx: impl ReadContext) -> Result<u32, Error>;
    fn time_remaining(&self, ctx: impl ReadContext) -> Result<u32, Error>;
    fn timer_state(
        &self,
        ctx: impl ReadContext,
    ) -> Result<TimerStatusEnum, Error>;
    fn handle_set_timer(
        &self,
        ctx: impl InvokeContext,
        request: SetTimerRequest<'_>,
    ) -> Result<(), Error>;
    fn handle_reset_timer(&self, ctx: impl InvokeContext) -> Result<(), Error>;
    fn handle_add_time(
        &self,
        ctx: impl InvokeContext,
        request: AddTimeRequest<'_>,
    ) -> Result<(), Error>;
    fn handle_reduce_time(
        &self,
        ctx: impl InvokeContext,
        request: ReduceTimeRequest<'_>,
    ) -> Result<(), Error>;
}
Expand description

The handler trait for the cluster.

Required Associated Constants§

Source

const CLUSTER: Cluster<'static>

The cluster-metadata corresponding to this handler trait.

Required Methods§

Source

fn dataver(&self) -> u32

Source

fn dataver_changed(&self)

Source

fn set_time(&self, ctx: impl ReadContext) -> Result<u32, Error>

Source

fn time_remaining(&self, ctx: impl ReadContext) -> Result<u32, Error>

Source

fn timer_state(&self, ctx: impl ReadContext) -> Result<TimerStatusEnum, Error>

Source

fn handle_set_timer( &self, ctx: impl InvokeContext, request: SetTimerRequest<'_>, ) -> Result<(), Error>

Source

fn handle_reset_timer(&self, ctx: impl InvokeContext) -> Result<(), Error>

Source

fn handle_add_time( &self, ctx: impl InvokeContext, request: AddTimeRequest<'_>, ) -> Result<(), Error>

Source

fn handle_reduce_time( &self, ctx: impl InvokeContext, request: ReduceTimeRequest<'_>, ) -> Result<(), Error>

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

Source§

impl<T> ClusterHandler for &T
where T: ClusterHandler,

Source§

const CLUSTER: Cluster<'static> = T::CLUSTER

Source§

fn dataver(&self) -> u32

Source§

fn dataver_changed(&self)

Source§

fn set_time(&self, ctx: impl ReadContext) -> Result<u32, Error>

Source§

fn time_remaining(&self, ctx: impl ReadContext) -> Result<u32, Error>

Source§

fn timer_state(&self, ctx: impl ReadContext) -> Result<TimerStatusEnum, Error>

Source§

fn handle_set_timer( &self, ctx: impl InvokeContext, request: SetTimerRequest<'_>, ) -> Result<(), Error>

Source§

fn handle_reset_timer(&self, ctx: impl InvokeContext) -> Result<(), Error>

Source§

fn handle_add_time( &self, ctx: impl InvokeContext, request: AddTimeRequest<'_>, ) -> Result<(), Error>

Source§

fn handle_reduce_time( &self, ctx: impl InvokeContext, request: ReduceTimeRequest<'_>, ) -> Result<(), Error>

Implementors§