pub trait IpcHandler: Send + Sync {
// Required method
fn handle<'life0, 'async_trait>(
&'life0 self,
peer: PeerCred,
request: IpcRequest,
) -> Pin<Box<dyn Future<Output = IpcResponse> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
}Expand description
Server-side request handler implemented by secureops-daemon.
PRODUCT.md A.4/B.4 - serve accepts a connection, authenticates the peer
(peer_cred), then routes each decoded IpcRequest through this trait.
Keeping the handler abstract lets the daemon inject its PDP/PEP/AlertBus
wiring while this crate owns only the transport.
Required Methods§
Sourcefn handle<'life0, 'async_trait>(
&'life0 self,
peer: PeerCred,
request: IpcRequest,
) -> Pin<Box<dyn Future<Output = IpcResponse> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn handle<'life0, 'async_trait>(
&'life0 self,
peer: PeerCred,
request: IpcRequest,
) -> Pin<Box<dyn Future<Output = IpcResponse> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Handle one request from an authenticated peer, producing one response.
The peer argument carries the kernel-verified PeerCred so handlers
can apply per-uid authorization (PRODUCT.md A.3).
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".