pub struct ServerChain(/* private fields */);Expand description
A server that chains several other servers.
This composes multiple servers into one. When a notification or an rpc comes, it tries one by one and passes the call to each of them. If the server provides an answer, the iteration is stopped and that answer is returned. If the server refuses the given method name, another server in the chain is tried, until one is found or we run out of servers.
Initialization is called on all the servers.
The AbstractServer is one of the ways to plug servers with
incompatible future and success types inside.
Implementations§
Trait Implementations§
Source§impl Server for ServerChain
impl Server for ServerChain
Source§type RpcCallResult = Box<dyn Future<Item = Value, Error = RpcError>>
type RpcCallResult = Box<dyn Future<Item = Value, Error = RpcError>>
The result of the RPC call Read more
Source§type NotificationResult = Box<dyn Future<Item = (), Error = ()>>
type NotificationResult = Box<dyn Future<Item = (), Error = ()>>
The result of the RPC call. Read more
Source§fn rpc(
&self,
ctl: &ServerCtl,
method: &str,
params: &Option<Value>,
) -> Option<Self::RpcCallResult>
fn rpc( &self, ctl: &ServerCtl, method: &str, params: &Option<Value>, ) -> Option<Self::RpcCallResult>
Called when the client requests something. Read more
Source§fn notification(
&self,
ctl: &ServerCtl,
method: &str,
params: &Option<Value>,
) -> Option<Self::NotificationResult>
fn notification( &self, ctl: &ServerCtl, method: &str, params: &Option<Value>, ) -> Option<Self::NotificationResult>
Called when the client sends a notification. Read more
Source§fn initialized(&self, ctl: &ServerCtl)
fn initialized(&self, ctl: &ServerCtl)
Called when the endpoint is initialized. Read more
Auto Trait Implementations§
impl Freeze for ServerChain
impl !RefUnwindSafe for ServerChain
impl !Send for ServerChain
impl !Sync for ServerChain
impl Unpin for ServerChain
impl !UnwindSafe for ServerChain
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