Expand description
jsonrpsee wrapper crate.
§Optional features
The jsonrpsee
crate composes JSON-RPC functionality behind optional feature
flags to provide for client and server communication over specific protocols.
There are no default features, all functionality must be opted in to accordingly.
The following features are available.
http-client
- JSON-RPC client functionality over HTTP protocol.wasm-client
- JSON-RPC client functionality over web-sys.ws-client
- JSON-RPC client functionality over WebSocket protocol.macros
- JSON-RPC API generation convenience by derive macros.client-core
- Enables minimal client features to generate the RPC API without transports.client
- Enables all client features including transports.server-core
- Enables minimal server features to generate the RPC API without transports.server
- Enables all server features including transports.full
- Enables all features.async-client
- Enables the async client without any transport.client-ws-transport
- Enablesws
transport with TLS.client-ws-transport-no-tls
- Enablesws
transport without TLS.client-web-transport
- Enableswebsys
transport.
Re-exports§
pub use jsonrpsee_http_client as http_client;
pub use jsonrpsee_ws_client as ws_client;
pub use jsonrpsee_server as server;
pub use tokio;
pub use jsonrpsee_proc_macros as proc_macros;
pub use tracing;
pub use jsonrpsee_types as types;
pub use jsonrpsee_core as core;
Modules§
- Helpers.
Macros§
- Convert the given values to a
crate::params::ArrayParams
as expected by a jsonrpsee Client (http or websocket).
Structs§
- Serialized batch response.
- Builder to build a
BatchResponse
. - This wraps
tokio::sync::Semaphore
and is used to limit the number of subscriptions per connection. - Bounded writer that allows writing at most
max_len
bytes. - Connection ID.
- Error that may occur during
crate::server::MethodSink::send
orcrate::server::SubscriptionSink::send
. - A type map of protocol extensions.
- Represents a subscription until it is unsubscribed.
- Represents a response to a method call.
- Future that resolves when the method response has been processed.
- Sends a message once the method response has been processed.
- Sink that is used to send back the result to the server for a specific method.
- Reference-counted, clone-on-write collection of synchronous and asynchronous methods.
- The error returned while accepting a subscription.
- Represents a single subscription that is waiting to be accepted or rejected.
- Similar to
jsonrpsee_types::ResponsePayload
but possible to with an async-like API to detect when a method response has been sent. - Sets of JSON-RPC methods can be organized into “module“s that are in turn registered on the server or, alternatively, merged with other modules to construct a cohesive API.
RpcModule
wraps an additional context argument that can be used to access data during call execution. - Wrapper struct that maintains a subscription “mainly” for testing.
- Represent a unique subscription entry based on
SubscriptionId
andConnectionId
. - Subscription message.
- Represents a single subscription that hasn’t been processed yet.
- Helper struct to manage subscriptions.
Enums§
- This represent a response to a RPC call and
Subscribe
calls are handled differently because we want to prevent subscriptions to start before the actual subscription call has been answered. - Callback wrapper that can be either sync or async.
- The kind of the JSON-RPC method call, it can be a subscription, method call or unknown.
- Method response error.
- Result of a method, either direct value or a future of one.
- The error that can occur when
Methods::call
orMethods::subscribe
is invoked. - A message that that tells whether notification was succesful or not.
- Error that may occur during
crate::server::MethodSink::send_timeout
orcrate::server::SubscriptionSink::send_timeout
. - Represents what action that will sent when a subscription callback returns.
- A complete subscription message or partial subscription message.
- Error that may occur during
crate::server::MethodSink::try_send
orcrate::server::SubscriptionSink::try_send
.
Traits§
- Something that can be converted into a JSON-RPC method call response.
- Convert something into a subscription close notification before a subscription is terminated.
Functions§
- Create a JSON-RPC error response.
- Figure out if this is a sufficiently complete request that we can extract an
Id
out of, or just plain unparseable garbage.
Type Aliases§
- Similar to
SyncMethod
, but represents an asynchronous handler. - Max response size.
- Raw response from an RPC A tuple containing:
- Type-alias for subscribers.
- Method callback for subscriptions.
- Subscription permit.
- A
MethodCallback
is an RPC endpoint, callable with a standard JSON-RPC request, implemented as a function pointer to aFn
function taking four arguments: theid
,params
, a channel the function uses to communicate the result (or error) back tojsonrpsee
, and the connection ID (useful for the websocket transport).