pub struct InMemoryRpcServer { /* private fields */ }
Expand description
An RpcServer
which keeps all information about registered endpoints in memory.
The server requires an implementations of UTransport
for receiving RPC Request messages
from clients and sending back RPC Response messages.
For each endpoint being registered, a UListener
is created for
the given request handler and registered with the underlying transport. The listener is also
mapped to the endpoint’s method resource ID in order to prevent registration of multiple
request handlers for the same method.
Implementations§
Source§impl InMemoryRpcServer
impl InMemoryRpcServer
Sourcepub fn new(
transport: Arc<dyn UTransport>,
uri_provider: Arc<dyn LocalUriProvider>,
) -> Self
pub fn new( transport: Arc<dyn UTransport>, uri_provider: Arc<dyn LocalUriProvider>, ) -> Self
Creates a new RPC server for a given transport.
Trait Implementations§
Source§impl RpcServer for InMemoryRpcServer
impl RpcServer for InMemoryRpcServer
Source§fn register_endpoint<'life0, 'life1, 'async_trait>(
&'life0 self,
origin_filter: Option<&'life1 UUri>,
resource_id: u16,
request_handler: Arc<dyn RequestHandler>,
) -> Pin<Box<dyn Future<Output = Result<(), RegistrationError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn register_endpoint<'life0, 'life1, 'async_trait>(
&'life0 self,
origin_filter: Option<&'life1 UUri>,
resource_id: u16,
request_handler: Arc<dyn RequestHandler>,
) -> Pin<Box<dyn Future<Output = Result<(), RegistrationError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Registers an endpoint for RPC requests. Read more
Source§fn unregister_endpoint<'life0, 'life1, 'async_trait>(
&'life0 self,
origin_filter: Option<&'life1 UUri>,
resource_id: u16,
_request_handler: Arc<dyn RequestHandler>,
) -> Pin<Box<dyn Future<Output = Result<(), RegistrationError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn unregister_endpoint<'life0, 'life1, 'async_trait>(
&'life0 self,
origin_filter: Option<&'life1 UUri>,
resource_id: u16,
_request_handler: Arc<dyn RequestHandler>,
) -> Pin<Box<dyn Future<Output = Result<(), RegistrationError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Deregisters a previously registered endpoint. Read more
Auto Trait Implementations§
impl !Freeze for InMemoryRpcServer
impl !RefUnwindSafe for InMemoryRpcServer
impl Send for InMemoryRpcServer
impl Sync for InMemoryRpcServer
impl Unpin for InMemoryRpcServer
impl !UnwindSafe for InMemoryRpcServer
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more