pub struct IpcRegistry { /* private fields */ }Expand description
IPC registry for managing all endpoints and channels
Implementations§
Source§impl IpcRegistry
impl IpcRegistry
Sourcepub fn create_endpoint(
&mut self,
owner: ProcessId,
) -> Result<(EndpointId, IpcCapability)>
pub fn create_endpoint( &mut self, owner: ProcessId, ) -> Result<(EndpointId, IpcCapability)>
Create a new endpoint
Sourcepub fn create_channel(
&mut self,
owner: ProcessId,
capacity: usize,
) -> Result<(EndpointId, EndpointId, IpcCapability, IpcCapability)>
pub fn create_channel( &mut self, owner: ProcessId, capacity: usize, ) -> Result<(EndpointId, EndpointId, IpcCapability, IpcCapability)>
Create a new channel
Sourcepub fn lookup_endpoint(&self, id: EndpointId) -> Option<&Endpoint>
pub fn lookup_endpoint(&self, id: EndpointId) -> Option<&Endpoint>
Lookup an endpoint by ID
Sourcepub fn validate_capability(
&self,
process: ProcessId,
capability: &IpcCapability,
) -> Result<()>
pub fn validate_capability( &self, process: ProcessId, capability: &IpcCapability, ) -> Result<()>
Validate a capability (Level 1: registry, Level 2: process capability space)
Sourcepub fn remove_endpoint(
&mut self,
id: EndpointId,
owner: ProcessId,
) -> Result<()>
pub fn remove_endpoint( &mut self, id: EndpointId, owner: ProcessId, ) -> Result<()>
Remove an endpoint
Sourcepub fn get_stats(&self) -> RegistryStatsSummary
pub fn get_stats(&self) -> RegistryStatsSummary
Get registry statistics