Crate jsonrpsee

Source
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 - Enables ws transport with TLS.
  • client-ws-transport-no-tls - Enables ws transport without TLS.
  • client-web-transport - Enables websys transport.

Re-exports§

pub use jsonrpsee_http_client as http_client;jsonrpsee-http-client
pub use jsonrpsee_ws_client as ws_client;jsonrpsee-ws-client
pub use jsonrpsee_wasm_client as wasm_client;jsonrpsee-wasm-client
pub use jsonrpsee_client_transport as client_transport;jsonrpsee-client-transport
pub use jsonrpsee_server as server;server
pub use tokio;server
pub use jsonrpsee_proc_macros as proc_macros;jsonrpsee-proc-macros
pub use tracing;jsonrpsee-proc-macros
pub use jsonrpsee_types as types;jsonrpsee-types
pub use jsonrpsee_core as core;

Modules§

async_clientasync-client
Abstract async client.
helpersserver-core
Helpers.

Macros§

rpc_params
Convert the given values to a crate::params::ArrayParams as expected by a jsonrpsee Client (http or websocket).

Structs§

BatchResponseserver-core
Serialized batch response.
BatchResponseBuilderserver-core
Builder to build a BatchResponse.
BoundedSubscriptionsserver-core
This wraps tokio::sync::Semaphore and is used to limit the number of subscriptions per connection.
BoundedWriterserver-core
Bounded writer that allows writing at most max_len bytes.
ConnectionIdserver-core
Connection ID.
DisconnectErrorserver-core
Error that may occur during crate::server::MethodSink::send or crate::server::SubscriptionSink::send.
Extensionsserver-core
A type map of protocol extensions.
IsUnsubscribedserver-core
Represents a subscription until it is unsubscribed.
MethodResponseserver-core
Represents a response to a method call.
MethodResponseFutureserver-core
Future that resolves when the method response has been processed.
MethodResponseNotifyTxserver-core
Sends a message once the method response has been processed.
MethodSinkserver-core
Sink that is used to send back the result to the server for a specific method.
Methodsserver-core
Reference-counted, clone-on-write collection of synchronous and asynchronous methods.
PendingSubscriptionAcceptErrorserver-core
The error returned while accepting a subscription.
PendingSubscriptionSinkserver-core
Represents a single subscription that is waiting to be accepted or rejected.
ResponsePayloadserver-core
Similar to jsonrpsee_types::ResponsePayload but possible to with an async-like API to detect when a method response has been sent.
RpcModuleserver-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. RpcModule wraps an additional context argument that can be used to access data during call execution.
Subscriptionserver-core
Wrapper struct that maintains a subscription “mainly” for testing.
SubscriptionKeyserver-core
Represent a unique subscription entry based on SubscriptionId and ConnectionId.
SubscriptionMessageserver-core
Subscription message.
SubscriptionSinkserver-core
Represents a single subscription that hasn’t been processed yet.
SubscriptionStateserver-core
Helper struct to manage subscriptions.

Enums§

CallOrSubscriptionserver-core
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.
MethodCallbackserver-core
Callback wrapper that can be either sync or async.
MethodKindserver-core
The kind of the JSON-RPC method call, it can be a subscription, method call or unknown.
MethodResponseErrorserver-core
Method response error.
MethodResultserver-core
Result of a method, either direct value or a future of one.
MethodsErrorserver-core
The error that can occur when Methods::call or Methods::subscribe is invoked.
NotifyMsgserver-core
A message that that tells whether notification was succesful or not.
SendTimeoutErrorserver-core
Error that may occur during crate::server::MethodSink::send_timeout or crate::server::SubscriptionSink::send_timeout.
SubscriptionCloseResponseserver-core
Represents what action that will sent when a subscription callback returns.
SubscriptionMessageInnerserver-core
A complete subscription message or partial subscription message.
TrySendErrorserver-core
Error that may occur during crate::server::MethodSink::try_send or crate::server::SubscriptionSink::try_send.

Traits§

IntoResponseserver-core
Something that can be converted into a JSON-RPC method call response.
IntoSubscriptionCloseResponseserver-core
Convert something into a subscription close notification before a subscription is terminated.

Functions§

batch_response_errorserver-core
Create a JSON-RPC error response.
prepare_errorserver-core
Figure out if this is a sufficiently complete request that we can extract an Id out of, or just plain unparseable garbage.

Type Aliases§

AsyncMethodserver-core
Similar to SyncMethod, but represents an asynchronous handler.
MaxResponseSizeserver-core
Max response size.
RawRpcResponseserver-core
Raw response from an RPC A tuple containing:
Subscribersserver-core
Type-alias for subscribers.
SubscriptionMethodserver-core
Method callback for subscriptions.
SubscriptionPermitserver-core
Subscription permit.
SyncMethodserver-core
A MethodCallback is an RPC endpoint, callable with a standard JSON-RPC request, implemented as a function pointer to a Fn function taking four arguments: the id, params, a channel the function uses to communicate the result (or error) back to jsonrpsee, and the connection ID (useful for the websocket transport).