pub trait ClusterAsyncHandler {
const CLUSTER: Cluster<'static>;
Show 20 methods
// Required methods
fn dataver(&self) -> u32;
fn dataver_changed(&self);
async fn nocs<P>(
&self,
ctx: impl ReadContext,
builder: ArrayAttributeRead<NOCStructArrayBuilder<P>, NOCStructBuilder<P>>,
) -> Result<P, Error>
where P: TLVBuilderParent;
async fn fabrics<P>(
&self,
ctx: impl ReadContext,
builder: ArrayAttributeRead<FabricDescriptorStructArrayBuilder<P>, FabricDescriptorStructBuilder<P>>,
) -> Result<P, Error>
where P: TLVBuilderParent;
async fn supported_fabrics(
&self,
ctx: impl ReadContext,
) -> Result<u8, Error>;
async fn commissioned_fabrics(
&self,
ctx: impl ReadContext,
) -> Result<u8, Error>;
async fn trusted_root_certificates<P>(
&self,
ctx: impl ReadContext,
builder: ArrayAttributeRead<OctetsArrayBuilder<P>, OctetsBuilder<P>>,
) -> Result<P, Error>
where P: TLVBuilderParent;
async fn current_fabric_index(
&self,
ctx: impl ReadContext,
) -> Result<u8, Error>;
async fn handle_attestation_request<P>(
&self,
ctx: impl InvokeContext,
request: AttestationRequestRequest<'_>,
response: AttestationResponseBuilder<P>,
) -> Result<P, Error>
where P: TLVBuilderParent;
async fn handle_certificate_chain_request<P>(
&self,
ctx: impl InvokeContext,
request: CertificateChainRequestRequest<'_>,
response: CertificateChainResponseBuilder<P>,
) -> Result<P, Error>
where P: TLVBuilderParent;
async fn handle_csr_request<P>(
&self,
ctx: impl InvokeContext,
request: CSRRequestRequest<'_>,
response: CSRResponseBuilder<P>,
) -> Result<P, Error>
where P: TLVBuilderParent;
async fn handle_add_noc<P>(
&self,
ctx: impl InvokeContext,
request: AddNOCRequest<'_>,
response: NOCResponseBuilder<P>,
) -> Result<P, Error>
where P: TLVBuilderParent;
async fn handle_update_noc<P>(
&self,
ctx: impl InvokeContext,
request: UpdateNOCRequest<'_>,
response: NOCResponseBuilder<P>,
) -> Result<P, Error>
where P: TLVBuilderParent;
async fn handle_update_fabric_label<P>(
&self,
ctx: impl InvokeContext,
request: UpdateFabricLabelRequest<'_>,
response: NOCResponseBuilder<P>,
) -> Result<P, Error>
where P: TLVBuilderParent;
async fn handle_remove_fabric<P>(
&self,
ctx: impl InvokeContext,
request: RemoveFabricRequest<'_>,
response: NOCResponseBuilder<P>,
) -> Result<P, Error>
where P: TLVBuilderParent;
async fn handle_add_trusted_root_certificate(
&self,
ctx: impl InvokeContext,
request: AddTrustedRootCertificateRequest<'_>,
) -> Result<(), Error>;
async fn handle_set_vid_verification_statement(
&self,
ctx: impl InvokeContext,
request: SetVIDVerificationStatementRequest<'_>,
) -> Result<(), Error>;
async fn handle_sign_vid_verification_request<P>(
&self,
ctx: impl InvokeContext,
request: SignVIDVerificationRequestRequest<'_>,
response: SignVIDVerificationResponseBuilder<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>> { ... }
}Expand description
The handler trait for the cluster.
Required Associated Constants§
Required Methods§
fn dataver(&self) -> u32
fn dataver_changed(&self)
async fn nocs<P>(
&self,
ctx: impl ReadContext,
builder: ArrayAttributeRead<NOCStructArrayBuilder<P>, NOCStructBuilder<P>>,
) -> Result<P, Error>where
P: TLVBuilderParent,
async fn fabrics<P>(
&self,
ctx: impl ReadContext,
builder: ArrayAttributeRead<FabricDescriptorStructArrayBuilder<P>, FabricDescriptorStructBuilder<P>>,
) -> Result<P, Error>where
P: TLVBuilderParent,
async fn supported_fabrics(&self, ctx: impl ReadContext) -> Result<u8, Error>
async fn commissioned_fabrics(&self, ctx: impl ReadContext) -> Result<u8, Error>
async fn trusted_root_certificates<P>(
&self,
ctx: impl ReadContext,
builder: ArrayAttributeRead<OctetsArrayBuilder<P>, OctetsBuilder<P>>,
) -> Result<P, Error>where
P: TLVBuilderParent,
async fn current_fabric_index(&self, ctx: impl ReadContext) -> Result<u8, Error>
async fn handle_attestation_request<P>(
&self,
ctx: impl InvokeContext,
request: AttestationRequestRequest<'_>,
response: AttestationResponseBuilder<P>,
) -> Result<P, Error>where
P: TLVBuilderParent,
async fn handle_certificate_chain_request<P>(
&self,
ctx: impl InvokeContext,
request: CertificateChainRequestRequest<'_>,
response: CertificateChainResponseBuilder<P>,
) -> Result<P, Error>where
P: TLVBuilderParent,
async fn handle_csr_request<P>(
&self,
ctx: impl InvokeContext,
request: CSRRequestRequest<'_>,
response: CSRResponseBuilder<P>,
) -> Result<P, Error>where
P: TLVBuilderParent,
async fn handle_add_noc<P>(
&self,
ctx: impl InvokeContext,
request: AddNOCRequest<'_>,
response: NOCResponseBuilder<P>,
) -> Result<P, Error>where
P: TLVBuilderParent,
async fn handle_update_noc<P>(
&self,
ctx: impl InvokeContext,
request: UpdateNOCRequest<'_>,
response: NOCResponseBuilder<P>,
) -> Result<P, Error>where
P: TLVBuilderParent,
async fn handle_update_fabric_label<P>(
&self,
ctx: impl InvokeContext,
request: UpdateFabricLabelRequest<'_>,
response: NOCResponseBuilder<P>,
) -> Result<P, Error>where
P: TLVBuilderParent,
async fn handle_remove_fabric<P>(
&self,
ctx: impl InvokeContext,
request: RemoveFabricRequest<'_>,
response: NOCResponseBuilder<P>,
) -> Result<P, Error>where
P: TLVBuilderParent,
async fn handle_add_trusted_root_certificate( &self, ctx: impl InvokeContext, request: AddTrustedRootCertificateRequest<'_>, ) -> Result<(), Error>
async fn handle_set_vid_verification_statement( &self, ctx: impl InvokeContext, request: SetVIDVerificationStatementRequest<'_>, ) -> Result<(), Error>
async fn handle_sign_vid_verification_request<P>(
&self,
ctx: impl InvokeContext,
request: SignVIDVerificationRequestRequest<'_>,
response: SignVIDVerificationResponseBuilder<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>>
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".