Skip to main content

Provider

Trait Provider 

Source
pub trait Provider: Send + Sync {
    // Required methods
    fn get_metadata(
        &self,
        request: GetMetadataRequest,
    ) -> BoxFuture<'_, Result<GetMetadataResponse, Status>>;
    fn observe(
        &self,
        request: ObserveRequest,
    ) -> BoxFuture<'_, Result<ObserveResponse, Status>>;
    fn capture(
        &self,
        request: CaptureRequest,
    ) -> BoxFuture<'_, Result<CaptureResponse, Status>>;
    fn plan(
        &self,
        request: PlanRequest,
    ) -> BoxFuture<'_, Result<PlanResponse, Status>>;
    fn apply(
        &self,
        request: ApplyRequest,
    ) -> BoxFuture<'_, Result<BoxStream<'static, Result<ApplyResponse, Status>>, Status>>;
    fn verify(
        &self,
        request: VerifyRequest,
    ) -> BoxFuture<'_, Result<VerifyResponse, Status>>;
    fn cancel(
        &self,
        request: CancelRequest,
    ) -> BoxFuture<'_, Result<CancelResponse, Status>>;
}
Expand description

Asynchronous provider boundary shared by linked first-party implementations and the external protocol adapter.

The versioned wire models remain the stable provider-owned envelopes; the in-process path avoids transport without inventing a second DTO hierarchy.

Required Methods§

Source

fn get_metadata( &self, request: GetMetadataRequest, ) -> BoxFuture<'_, Result<GetMetadataResponse, Status>>

Source

fn observe( &self, request: ObserveRequest, ) -> BoxFuture<'_, Result<ObserveResponse, Status>>

Source

fn capture( &self, request: CaptureRequest, ) -> BoxFuture<'_, Result<CaptureResponse, Status>>

Source

fn plan( &self, request: PlanRequest, ) -> BoxFuture<'_, Result<PlanResponse, Status>>

Source

fn apply( &self, request: ApplyRequest, ) -> BoxFuture<'_, Result<BoxStream<'static, Result<ApplyResponse, Status>>, Status>>

Source

fn verify( &self, request: VerifyRequest, ) -> BoxFuture<'_, Result<VerifyResponse, Status>>

Source

fn cancel( &self, request: CancelRequest, ) -> BoxFuture<'_, Result<CancelResponse, Status>>

Implementors§