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;
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_client
async-client
Abstract async client. - helpers
server-core
Helpers.
Macros§
- Convert the given values to a
crate::params::ArrayParams
as expected by a jsonrpsee Client (http or websocket).
Structs§
- BatchResponse
server-core
Serialized batch response. - BatchResponseBuilder
server-core
Builder to build aBatchResponse
. - BoundedSubscriptions
server-core
This wrapstokio::sync::Semaphore
and is used to limit the number of subscriptions per connection. - BoundedWriter
server-core
Bounded writer that allows writing at mostmax_len
bytes. - ConnectionId
server-core
Connection ID. - DisconnectError
server-core
Error that may occur duringcrate::server::MethodSink::send
orcrate::server::SubscriptionSink::send
. - Extensions
server-core
A type map of protocol extensions. - IsUnsubscribed
server-core
Represents a subscription until it is unsubscribed. - MethodResponse
server-core
Represents a response to a method call. - MethodResponseFuture
server-core
Future that resolves when the method response has been processed. - MethodResponseNotifyTx
server-core
Sends a message once the method response has been processed. - MethodSink
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. - PendingSubscriptionAcceptError
server-core
The error returned while accepting a subscription. - PendingSubscriptionSink
server-core
Represents a single subscription that is waiting to be accepted or rejected. - ResponsePayload
server-core
Similar tojsonrpsee_types::ResponsePayload
but 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.RpcModule
wraps 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. - SubscriptionKey
server-core
Represent a unique subscription entry based onSubscriptionId
andConnectionId
. - SubscriptionMessage
server-core
Subscription message. - SubscriptionSink
server-core
Represents a single subscription that hasn’t been processed yet. - SubscriptionState
server-core
Helper struct to manage subscriptions.
Enums§
- CallOrSubscription
server-core
This represent a response to a RPC call andSubscribe
calls are handled differently because we want to prevent subscriptions to start before the actual subscription call has been answered. - MethodCallback
server-core
Callback wrapper that can be either sync or async. - MethodKind
server-core
The kind of the JSON-RPC method call, it can be a subscription, method call or unknown. - MethodResponseError
server-core
Method response error. - MethodResult
server-core
Result of a method, either direct value or a future of one. - MethodsError
server-core
The error that can occur whenMethods::call
orMethods::subscribe
is invoked. - NotifyMsg
server-core
A message that that tells whether notification was succesful or not. - SendTimeoutError
server-core
Error that may occur duringcrate::server::MethodSink::send_timeout
orcrate::server::SubscriptionSink::send_timeout
. - SubscriptionCloseResponse
server-core
Represents what action that will sent when a subscription callback returns. - SubscriptionMessageInner
server-core
A complete subscription message or partial subscription message. - TrySendError
server-core
Error that may occur duringcrate::server::MethodSink::try_send
orcrate::server::SubscriptionSink::try_send
.
Traits§
- IntoResponse
server-core
Something that can be converted into a JSON-RPC method call response. - IntoSubscriptionCloseResponse
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 anId
out of, or just plain unparseable garbage.
Type Aliases§
- AsyncMethod
server-core
Similar toSyncMethod
, but represents an asynchronous handler. - MaxResponseSize
server-core
Max response size. - RawRpcResponse
server-core
Raw response from an RPC A tuple containing: - Subscribers
server-core
Type-alias for subscribers. - SubscriptionMethod
server-core
Method callback for subscriptions. - SubscriptionPermit
server-core
Subscription permit. - SyncMethod
server-core
AMethodCallback
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).