Expand description
RPC-IT
Low-level RPC abstraction
Concepts
There are three concepts for RPC handling:
- Send Notify
- Send Request => Recv Response
- Recv Request
This library is modeled after the msgpack-rpc, but in general, most RPC protocols follow
similar patterns, we may adopt this to other protocols in the future. (JSON-RPC, etc…)
Usage
Re-exports
pub extern crate bytes;pub extern crate erased_serde;pub extern crate futures_util;pub extern crate serde;pub use rpc::msg::Notify;pub use rpc::msg::RecvMsg;pub use rpc::msg::Request;pub use rpc::msg::Response;pub use rpc::msg::ResponseError;pub use rpc::Builder;pub use rpc::CallError;pub use rpc::Feature;pub use rpc::InboundError;pub use rpc::InboundEventSubscriber;pub use rpc::Message;pub use rpc::OwnedResponseFuture;pub use rpc::RecvError;pub use rpc::RequestContext;pub use rpc::ResponseFuture;pub use rpc::SendError;pub use rpc::Sender;pub use rpc::Transceiver;pub use rpc::TryRecvError;pub use rpc::TypedCallError;pub use service::ExactMatchRouter;pub use service::RegisterError;pub use service::RouteMessageError;pub use service::Router;pub use service::Service;pub use service::ServiceBuilder;pub use service::TypedRequest;pub use service::TypedResponse;
Modules
- Codec
- RPC connection implementation
Macros
- Create a map from a list of key-value pairs.
Structs
- An efficient way of discarding data from a deserializer.
Attribute Macros
- Defines new RPC service