Preview of the proposed up-rust native-frame-model branch (up-rust b6b99c6d, up-spec f0e9b17) — not released documentation. branch · write-up

Struct InMemoryRpcServer

Source
pub struct InMemoryRpcServer<T, P> { /* 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<T: UTransport, P: LocalUriProvider> InMemoryRpcServer<T, P>

Source

pub fn new(transport: Arc<T>, uri_provider: Arc<P>) -> Self

Creates a new RPC server for a given transport.

Trait Implementations§

Source§

impl<T, P> Debug for InMemoryRpcServer<T, P>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<T: UTransport + 'static, P: LocalUriProvider> RpcServer for InMemoryRpcServer<T, P>

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,

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,

Deregisters a previously registered endpoint. Read more

Auto Trait Implementations§

§

impl<T, P> !Freeze for InMemoryRpcServer<T, P>

§

impl<T, P> !RefUnwindSafe for InMemoryRpcServer<T, P>

§

impl<T, P> Send for InMemoryRpcServer<T, P>
where T: Sync + Send, P: Sync + Send,

§

impl<T, P> Sync for InMemoryRpcServer<T, P>
where T: Sync + Send, P: Sync + Send,

§

impl<T, P> Unpin for InMemoryRpcServer<T, P>

§

impl<T, P> !UnwindSafe for InMemoryRpcServer<T, P>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> Any for T
where T: Any,

§

fn into_any(self: Box<T>) -> Box<dyn Any>

§

fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

§

fn type_name(&self) -> &'static str

§

impl<T> AnySync for T
where T: Any + Send + Sync,

§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Sync + Send>

Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<TCore> UWithNativePrefixWire for TCore

Source§

fn into_native_prefix_wire_transport<W>( self, wire: W, ) -> UWireTransport<TCore, W, NativePrefixFrameMetadataCodec>
where W: UWire,

Wraps this core with an external or custom selected wire using canonical metadata.
Source§

fn into_protobuf_transport( self, ) -> UWireTransport<TCore, ProtobufWire, NativePrefixFrameMetadataCodec>

Wraps this core with the Protocol Buffers selected-wire profile.
Source§

fn into_stable_container_transport( self, ) -> UWireTransport<TCore, StableContainerWireFormat, NativePrefixFrameMetadataCodec>

Wraps this core with the stable-container selected-wire profile.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more