pub trait O2m:
Send
+ Sync
+ 'static {
type O2MEnforceConsentStream: Stream<Item = Result<ConsentNotification, Status>> + Send + 'static;
// Required methods
fn o2m_get_policies<'life0, 'async_trait>(
&'life0 self,
request: Request<GetPoliciesRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<GetPoliciesResponse>, Status>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn o2m_set_policy<'life0, 'async_trait>(
&'life0 self,
request: Request<SetPolicyRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<Ack>, Status>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn o2m_set_confidentiality<'life0, 'async_trait>(
&'life0 self,
request: Request<SetConfidentialityRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<Ack>, Status>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn o2m_set_integrity<'life0, 'async_trait>(
&'life0 self,
request: Request<SetIntegrityRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<Ack>, Status>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn o2m_set_deleted<'life0, 'async_trait>(
&'life0 self,
request: Request<SetDeletedRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<Ack>, Status>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn o2m_enforce_consent<'life0, 'async_trait>(
&'life0 self,
request: Request<EnforceConsentRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<Self::O2MEnforceConsentStream>, Status>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn o2m_set_consent_decision<'life0, 'async_trait>(
&'life0 self,
request: Request<SetConsentDecisionRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<Ack>, Status>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn o2m_get_references<'life0, 'async_trait>(
&'life0 self,
request: Request<GetReferencesRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<GetReferencesResponse>, Status>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
}Expand description
Generated trait containing gRPC methods that should be implemented for use with O2mServer.
Required Associated Types§
Sourcetype O2MEnforceConsentStream: Stream<Item = Result<ConsentNotification, Status>> + Send + 'static
type O2MEnforceConsentStream: Stream<Item = Result<ConsentNotification, Status>> + Send + 'static
Server streaming response type for the O2MEnforceConsent method.
Required Methods§
Sourcefn o2m_get_policies<'life0, 'async_trait>(
&'life0 self,
request: Request<GetPoliciesRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<GetPoliciesResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn o2m_get_policies<'life0, 'async_trait>(
&'life0 self,
request: Request<GetPoliciesRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<GetPoliciesResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Operator to Middleware operations
fn o2m_set_policy<'life0, 'async_trait>(
&'life0 self,
request: Request<SetPolicyRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<Ack>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn o2m_set_confidentiality<'life0, 'async_trait>(
&'life0 self,
request: Request<SetConfidentialityRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<Ack>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn o2m_set_integrity<'life0, 'async_trait>(
&'life0 self,
request: Request<SetIntegrityRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<Ack>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn o2m_set_deleted<'life0, 'async_trait>(
&'life0 self,
request: Request<SetDeletedRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<Ack>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn o2m_enforce_consent<'life0, 'async_trait>(
&'life0 self,
request: Request<EnforceConsentRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<Self::O2MEnforceConsentStream>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn o2m_set_consent_decision<'life0, 'async_trait>(
&'life0 self,
request: Request<SetConsentDecisionRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<Ack>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn o2m_get_references<'life0, 'async_trait>(
&'life0 self,
request: Request<GetReferencesRequest>,
) -> Pin<Box<dyn Future<Output = Result<Response<GetReferencesResponse>, Status>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Implementors§
Source§impl<O2mApi> O2m for O2mHandler<O2mApi>where
O2mApi: Service<O2mRequest, Response = O2mResponse, Error = TraceabilityError> + Clone + Sync + Send + 'static,
O2mApi::Future: Send,
Implementation of the O2M gRPC service protocol.
impl<O2mApi> O2m for O2mHandler<O2mApi>where
O2mApi: Service<O2mRequest, Response = O2mResponse, Error = TraceabilityError> + Clone + Sync + Send + 'static,
O2mApi::Future: Send,
Implementation of the O2M gRPC service protocol.
This implementation provides the server-side handlers for all operator-facing endpoints including policy configuration and provenance analysis.