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- Enableswstransport with TLS.client-ws-transport-no-tls- Enableswstransport without TLS.client-web-transport- Enableswebsystransport.
Re-exports§
pub use jsonrpsee_http_client as http_client;jsonrpsee-http-clientpub use jsonrpsee_ws_client as ws_client;jsonrpsee-ws-clientpub use jsonrpsee_wasm_client as wasm_client;jsonrpsee-wasm-clientpub use jsonrpsee_client_transport as client_transport;jsonrpsee-client-transportpub use jsonrpsee_server as server;serverpub use tokio;serverpub use jsonrpsee_proc_macros as proc_macros;jsonrpsee-proc-macrospub use tracing;jsonrpsee-proc-macrospub use jsonrpsee_types as types;jsonrpsee-typespub use jsonrpsee_core as core;
Modules§
- async_
client async-client - Abstract async client.
- helpers
server-core - Helpers.
Macros§
- rpc_
params - Convert the given values to a
crate::params::ArrayParamsas expected by a jsonrpsee Client (http or websocket).
Structs§
- Batch
Response server-core - Serialized batch response.
- Batch
Response Builder server-core - Builder to build a
BatchResponse. - Bounded
Subscriptions server-core - This wraps
tokio::sync::Semaphoreand is used to limit the number of subscriptions per connection. - Connection
Id server-core - Connection ID.
- Disconnect
Error server-core - Error that may occur during
crate::server::MethodSink::sendorcrate::server::SubscriptionSink::send. - Extensions
server-core - A type map of protocol extensions.
- IsUnsubscribed
server-core - Represents a subscription until it is unsubscribed.
- Method
Response server-core - Represents a response to a method call.
- Method
Response Future server-core - Future that resolves when the method response has been processed.
- Method
Response Notify Tx server-core - Sends a message once the method response has been processed.
- Method
Sink server-core - Sink that is used to send back the result to the server for a specific method.
- Methods
server-core - Reference-counted, clone-on-write collection of synchronous and asynchronous methods.
- Pending
Subscription Accept Error server-core - The error returned while accepting a subscription.
- Pending
Subscription Sink server-core - Represents a single subscription that is waiting to be accepted or rejected.
- Response
Payload server-core - Similar to
jsonrpsee_types::ResponsePayloadbut possible to with an async-like API to detect when a method response has been sent. - RpcModule
server-core - 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.
RpcModulewraps an additional context argument that can be used to access data during call execution. - Subscription
server-core - Wrapper struct that maintains a subscription “mainly” for testing.
- Subscription
Key server-core - Represent a unique subscription entry based on
SubscriptionIdandConnectionId. - Subscription
Message server-core - Subscription message.
- Subscription
Sink server-core - Represents a single subscription that hasn’t been processed yet.
- Subscription
State server-core - Helper struct to manage subscriptions.
Enums§
- Call
OrSubscription server-core - This represent a response to a RPC call
and
Subscribecalls are handled differently because we want to prevent subscriptions to start before the actual subscription call has been answered. - Method
Callback server-core - Callback wrapper that can be either sync or async.
- Method
Kind server-core - The kind of the JSON-RPC method call, it can be a subscription, method call or unknown.
- Method
Response Error server-core - Method response error.
- Method
Result server-core - Result of a method, either direct value or a future of one.
- Methods
Error server-core - The error that can occur when
Methods::callorMethods::subscribeis invoked. - Notify
Msg server-core - A message that that tells whether notification was succesful or not.
- Send
Timeout Error server-core - Error that may occur during
crate::server::MethodSink::send_timeoutorcrate::server::SubscriptionSink::send_timeout. - Subscription
Close Response server-core - Represents what action that will sent when a subscription callback returns.
- Subscription
Message Inner server-core - A complete subscription message or partial subscription message.
- TrySend
Error server-core - Error that may occur during
crate::server::MethodSink::try_sendorcrate::server::SubscriptionSink::try_send.
Traits§
- Into
Response server-core - Something that can be converted into a JSON-RPC method call response.
- Into
Subscription Close Response server-core - Convert something into a subscription close notification before a subscription is terminated.
Functions§
- batch_
response_ error server-core - Create a JSON-RPC error response.
- prepare_
error server-core - Figure out if this is a sufficiently complete request that we can extract an
Idout of, or just plain unparseable garbage.
Type Aliases§
- Async
Method server-core - Similar to
SyncMethod, but represents an asynchronous handler. - MaxResponse
Size server-core - Max response size.
- RawRpc
Response server-core - Raw response from an RPC A tuple containing:
- Subscribers
server-core - Type-alias for subscribers.
- Subscription
Method server-core - Method callback for subscriptions.
- Subscription
Permit server-core - Subscription permit.
- Sync
Method server-core - A
MethodCallbackis an RPC endpoint, callable with a standard JSON-RPC request, implemented as a function pointer to aFnfunction 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).