pub trait ClusterAsyncHandler {
const CLUSTER: Cluster<'static>;
Show 15 methods
// Required methods
fn dataver(&self) -> u32;
fn dataver_changed(&self);
async fn acl<P>(
&self,
ctx: impl ReadContext,
builder: ArrayAttributeRead<AccessControlEntryStructArrayBuilder<P>, AccessControlEntryStructBuilder<P>>,
) -> Result<P, Error>
where P: TLVBuilderParent;
async fn subjects_per_access_control_entry(
&self,
ctx: impl ReadContext,
) -> Result<u16, Error>;
async fn targets_per_access_control_entry(
&self,
ctx: impl ReadContext,
) -> Result<u16, Error>;
async fn access_control_entries_per_fabric(
&self,
ctx: impl ReadContext,
) -> Result<u16, Error>;
async fn set_acl(
&self,
ctx: impl WriteContext,
value: ArrayAttributeWrite<TLVContainer<'_, AccessControlEntryStruct<'_>, ArrayContainer>, AccessControlEntryStruct<'_>>,
) -> Result<(), Error>;
async fn handle_review_fabric_restrictions<P>(
&self,
ctx: impl InvokeContext,
request: ReviewFabricRestrictionsRequest<'_>,
response: ReviewFabricRestrictionsResponseBuilder<P>,
) -> Result<P, Error>
where P: TLVBuilderParent;
// Provided methods
fn lifecycle(
&self,
_ctx: impl HandlerContext,
_op: LifecycleOp,
) -> Result<(), Error> { ... }
fn run(
&self,
_ctx: impl HandlerContext,
) -> impl Future<Output = Result<(), Error>> { ... }
fn extension<P>(
&self,
ctx: impl ReadContext,
builder: ArrayAttributeRead<AccessControlExtensionStructArrayBuilder<P>, AccessControlExtensionStructBuilder<P>>,
) -> impl Future<Output = Result<P, Error>>
where P: TLVBuilderParent { ... }
fn commissioning_arl<P>(
&self,
ctx: impl ReadContext,
builder: ArrayAttributeRead<CommissioningAccessRestrictionEntryStructArrayBuilder<P>, CommissioningAccessRestrictionEntryStructBuilder<P>>,
) -> impl Future<Output = Result<P, Error>>
where P: TLVBuilderParent { ... }
fn arl<P>(
&self,
ctx: impl ReadContext,
builder: ArrayAttributeRead<AccessRestrictionEntryStructArrayBuilder<P>, AccessRestrictionEntryStructBuilder<P>>,
) -> impl Future<Output = Result<P, Error>>
where P: TLVBuilderParent { ... }
fn auxiliary_acl<P>(
&self,
ctx: impl ReadContext,
builder: ArrayAttributeRead<AccessControlEntryStructArrayBuilder<P>, AccessControlEntryStructBuilder<P>>,
) -> impl Future<Output = Result<P, Error>>
where P: TLVBuilderParent { ... }
fn set_extension(
&self,
ctx: impl WriteContext,
value: ArrayAttributeWrite<TLVContainer<'_, AccessControlExtensionStruct<'_>, ArrayContainer>, AccessControlExtensionStruct<'_>>,
) -> impl Future<Output = Result<(), Error>> { ... }
}Expand description
The handler trait for the cluster.
Required Associated Constants§
Required Methods§
fn dataver(&self) -> u32
fn dataver_changed(&self)
async fn acl<P>(
&self,
ctx: impl ReadContext,
builder: ArrayAttributeRead<AccessControlEntryStructArrayBuilder<P>, AccessControlEntryStructBuilder<P>>,
) -> Result<P, Error>where
P: TLVBuilderParent,
async fn subjects_per_access_control_entry( &self, ctx: impl ReadContext, ) -> Result<u16, Error>
async fn targets_per_access_control_entry( &self, ctx: impl ReadContext, ) -> Result<u16, Error>
async fn access_control_entries_per_fabric( &self, ctx: impl ReadContext, ) -> Result<u16, Error>
async fn set_acl( &self, ctx: impl WriteContext, value: ArrayAttributeWrite<TLVContainer<'_, AccessControlEntryStruct<'_>, ArrayContainer>, AccessControlEntryStruct<'_>>, ) -> Result<(), Error>
async fn handle_review_fabric_restrictions<P>(
&self,
ctx: impl InvokeContext,
request: ReviewFabricRestrictionsRequest<'_>,
response: ReviewFabricRestrictionsResponseBuilder<P>,
) -> Result<P, Error>where
P: TLVBuilderParent,
Provided Methods§
fn lifecycle( &self, _ctx: impl HandlerContext, _op: LifecycleOp, ) -> Result<(), Error>
fn run( &self, _ctx: impl HandlerContext, ) -> impl Future<Output = Result<(), Error>>
fn extension<P>(
&self,
ctx: impl ReadContext,
builder: ArrayAttributeRead<AccessControlExtensionStructArrayBuilder<P>, AccessControlExtensionStructBuilder<P>>,
) -> impl Future<Output = Result<P, Error>>where
P: TLVBuilderParent,
fn commissioning_arl<P>(
&self,
ctx: impl ReadContext,
builder: ArrayAttributeRead<CommissioningAccessRestrictionEntryStructArrayBuilder<P>, CommissioningAccessRestrictionEntryStructBuilder<P>>,
) -> impl Future<Output = Result<P, Error>>where
P: TLVBuilderParent,
fn arl<P>(
&self,
ctx: impl ReadContext,
builder: ArrayAttributeRead<AccessRestrictionEntryStructArrayBuilder<P>, AccessRestrictionEntryStructBuilder<P>>,
) -> impl Future<Output = Result<P, Error>>where
P: TLVBuilderParent,
fn auxiliary_acl<P>(
&self,
ctx: impl ReadContext,
builder: ArrayAttributeRead<AccessControlEntryStructArrayBuilder<P>, AccessControlEntryStructBuilder<P>>,
) -> impl Future<Output = Result<P, Error>>where
P: TLVBuilderParent,
fn set_extension( &self, ctx: impl WriteContext, value: ArrayAttributeWrite<TLVContainer<'_, AccessControlExtensionStruct<'_>, ArrayContainer>, AccessControlExtensionStruct<'_>>, ) -> impl Future<Output = Result<(), Error>>
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".