Cargo Features

[dependencies]
rpc-it = { version = "0.10.0-alpha.1", default-features = false, features = ["full", "dynamic-codec", "detailed-parse-errors", "proc-macro", "jsonrpc", "msgpack-rpc", "rawrpc", "in-memory-io"] }
default = detailed-parse-errors, proc-macro

These default features are set whenever rpc-it is added without default-features = false somewhere in the dependency tree.

full = dynamic-codec, in-memory-io, jsonrpc, msgpack-rpc, rawrpc

Enable full RPC support

dynamic-codec full?

Enable dynamic codec support

Enables erased-serde

Affects codec::DynamicCodec

detailed-parse-errors default

Enable detailed error message for deserialization

For servers, disabling this would be more benefitial as creating error object for every mismatched protocols would be pretty costly, which involves creating a new error object and serializing it everytime.

Enables anyhow

Affects codec::SerDeError

proc-macro default

Enable proc-macro support

Enables rpc-it-macros

Affects rpc-it::macros, rpc-it::cached, rpc-it::router

jsonrpc full?

Add JSONRPC support to the library

Enables serde_json

Affects ext_codec::jsonrpc

msgpack-rpc full?

Add msgpack-rpc support to the library

Enables rmp and rmp-serde

Affects ext_codec::msgpack_rpc

rawrpc full?

Internal highspeed unstable RPC protocol. This protocol only guarantees compatibility between same rpc-it crate minor versions.

Enables postcard

Affects ext_codec::rawrpc

in-memory-io full?

Adds in-memory-io default IO support

Enables crossbeam-queue

Features from optional dependencies

--------------------------------------------- Deps ---------------------------------------------