pub struct RpcRegistry { /* private fields */ }Expand description
Central registry mapping RpcId ↔ name ↔ handler.
Implementations§
Source§impl RpcRegistry
impl RpcRegistry
pub fn new() -> Self
Sourcepub fn register_fixed(
&mut self,
id: RpcId,
name: impl Into<String>,
handler: RpcHandler,
)
pub fn register_fixed( &mut self, id: RpcId, name: impl Into<String>, handler: RpcHandler, )
Register a handler under a fixed id and name.
Sourcepub fn register(
&mut self,
name: impl Into<String>,
handler: RpcHandler,
) -> RpcId
pub fn register( &mut self, name: impl Into<String>, handler: RpcHandler, ) -> RpcId
Register a handler, auto-assigning an ID. Returns the assigned RpcId.
Sourcepub fn handler(&self, id: RpcId) -> Option<&RpcHandler>
pub fn handler(&self, id: RpcId) -> Option<&RpcHandler>
Look up a handler by RpcId.
Sourcepub fn invoke(&self, id: RpcId, params: &[RpcParam]) -> RpcResult
pub fn invoke(&self, id: RpcId, params: &[RpcParam]) -> RpcResult
Invoke an RPC by ID. Returns Err(UnknownRpc) if not registered.
pub fn is_empty(&self) -> bool
Trait Implementations§
Auto Trait Implementations§
impl Freeze for RpcRegistry
impl !RefUnwindSafe for RpcRegistry
impl Send for RpcRegistry
impl Sync for RpcRegistry
impl Unpin for RpcRegistry
impl UnsafeUnpin for RpcRegistry
impl !UnwindSafe for RpcRegistry
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
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.