pub trait ClusterAsyncHandler {
const CLUSTER: Cluster<'static>;
Show 17 methods
// Required methods
fn dataver(&self) -> u32;
fn dataver_changed(&self);
async fn supported_ambient_contexts<P>(
&self,
ctx: impl ReadContext,
builder: ArrayAttributeRead<SemanticTagStructArrayBuilder<P>, SemanticTagStructBuilder<P>>,
) -> Result<P, Error>
where P: TLVBuilderParent;
async fn active_ambient_context_triggers<P>(
&self,
ctx: impl ReadContext,
builder: ArrayAttributeRead<ContextTriggerStructArrayBuilder<P>, ContextTriggerStructBuilder<P>>,
) -> Result<P, Error>
where P: TLVBuilderParent;
async fn tracking_enabled(
&self,
ctx: impl ReadContext,
) -> Result<bool, Error>;
async fn set_tracking_enabled(
&self,
ctx: impl WriteContext,
value: bool,
) -> Result<(), Error>;
async fn handle_enable_context_triggers(
&self,
ctx: impl InvokeContext,
request: EnableContextTriggersRequest<'_>,
) -> Result<(), Error>;
async fn handle_disable_context_triggers(
&self,
ctx: impl InvokeContext,
request: DisableContextTriggersRequest<'_>,
) -> Result<(), Error>;
async fn handle_establish_analysis_stream<P>(
&self,
ctx: impl InvokeContext,
request: EstablishAnalysisStreamRequest<'_>,
response: EstablishAnalysisStreamResponseBuilder<P>,
) -> Result<P, Error>
where P: TLVBuilderParent;
async fn handle_activate_analysis_stream(
&self,
ctx: impl InvokeContext,
request: ActivateAnalysisStreamRequest<'_>,
) -> Result<(), Error>;
async fn handle_deactivate_analysis_stream(
&self,
ctx: impl InvokeContext,
request: DeactivateAnalysisStreamRequest<'_>,
) -> Result<(), Error>;
async fn handle_remove_analysis_stream(
&self,
ctx: impl InvokeContext,
request: RemoveAnalysisStreamRequest<'_>,
) -> Result<(), Error>;
// Provided methods
fn lifecycle(
&self,
_ctx: impl HandlerContext,
_op: LifecycleOp,
) -> Result<(), Error> { ... }
fn run(
&self,
_ctx: impl HandlerContext,
) -> impl Future<Output = Result<(), Error>> { ... }
fn max_analysis_stream_count(
&self,
ctx: impl ReadContext,
) -> impl Future<Output = Result<u8, Error>> { ... }
fn current_analysis_stream_count(
&self,
ctx: impl ReadContext,
) -> impl Future<Output = Result<u8, Error>> { ... }
fn analysis_streams<P>(
&self,
ctx: impl ReadContext,
builder: ArrayAttributeRead<AnalysisStreamStructArrayBuilder<P>, AnalysisStreamStructBuilder<P>>,
) -> impl Future<Output = Result<P, Error>>
where P: TLVBuilderParent { ... }
}Expand description
The handler trait for the cluster.
Required Associated Constants§
Required Methods§
fn dataver(&self) -> u32
fn dataver_changed(&self)
async fn supported_ambient_contexts<P>(
&self,
ctx: impl ReadContext,
builder: ArrayAttributeRead<SemanticTagStructArrayBuilder<P>, SemanticTagStructBuilder<P>>,
) -> Result<P, Error>where
P: TLVBuilderParent,
async fn active_ambient_context_triggers<P>(
&self,
ctx: impl ReadContext,
builder: ArrayAttributeRead<ContextTriggerStructArrayBuilder<P>, ContextTriggerStructBuilder<P>>,
) -> Result<P, Error>where
P: TLVBuilderParent,
async fn tracking_enabled(&self, ctx: impl ReadContext) -> Result<bool, Error>
async fn set_tracking_enabled( &self, ctx: impl WriteContext, value: bool, ) -> Result<(), Error>
async fn handle_enable_context_triggers( &self, ctx: impl InvokeContext, request: EnableContextTriggersRequest<'_>, ) -> Result<(), Error>
async fn handle_disable_context_triggers( &self, ctx: impl InvokeContext, request: DisableContextTriggersRequest<'_>, ) -> Result<(), Error>
async fn handle_establish_analysis_stream<P>(
&self,
ctx: impl InvokeContext,
request: EstablishAnalysisStreamRequest<'_>,
response: EstablishAnalysisStreamResponseBuilder<P>,
) -> Result<P, Error>where
P: TLVBuilderParent,
async fn handle_activate_analysis_stream( &self, ctx: impl InvokeContext, request: ActivateAnalysisStreamRequest<'_>, ) -> Result<(), Error>
async fn handle_deactivate_analysis_stream( &self, ctx: impl InvokeContext, request: DeactivateAnalysisStreamRequest<'_>, ) -> Result<(), Error>
async fn handle_remove_analysis_stream( &self, ctx: impl InvokeContext, request: RemoveAnalysisStreamRequest<'_>, ) -> Result<(), Error>
Provided Methods§
fn lifecycle( &self, _ctx: impl HandlerContext, _op: LifecycleOp, ) -> Result<(), Error>
fn run( &self, _ctx: impl HandlerContext, ) -> impl Future<Output = Result<(), Error>>
fn max_analysis_stream_count( &self, ctx: impl ReadContext, ) -> impl Future<Output = Result<u8, Error>>
fn current_analysis_stream_count( &self, ctx: impl ReadContext, ) -> impl Future<Output = Result<u8, Error>>
fn analysis_streams<P>(
&self,
ctx: impl ReadContext,
builder: ArrayAttributeRead<AnalysisStreamStructArrayBuilder<P>, AnalysisStreamStructBuilder<P>>,
) -> impl Future<Output = Result<P, Error>>where
P: TLVBuilderParent,
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".