1#[cfg(any(feature = "tokio", feature = "blocking"))]
8pub mod connection;
9pub mod deadline;
10pub mod error;
11pub mod frame;
12pub mod jsonrpc;
13pub mod launch;
14pub mod protocol;
15pub mod revision;
16
17#[cfg(feature = "tokio")]
18mod description;
19
20#[cfg(feature = "blocking")]
21pub mod blocking;
22
23#[cfg(feature = "tokio")]
24pub mod client;
25#[cfg(feature = "tokio")]
26pub mod lifecycle;
27#[cfg(feature = "tokio")]
28pub mod provider;
29#[cfg(feature = "tokio")]
30pub mod resolver;
31#[cfg(feature = "tokio")]
32pub mod server;
33
34pub use deadline::unix_ms_after as deadline_unix_ms_after;
35pub use error::{
36 Error, ErrorData, ErrorKind, InteractionKind, InteractionReference, Result, RpcError,
37};
38pub use jsonrpc::{Envelope, Notification, Request, RequestId, Response};
39pub use protocol::{Limits, Product};
40pub use revision::Revision;
41
42pub const WIRE_VERSION: u32 = 1;
44
45pub const ABSOLUTE_MAX_FRAME_BYTES: usize = 1_048_576;
47
48pub const MIN_FRAME_BYTES: usize = 4_096;
50
51pub const MAX_IN_FLIGHT: usize = 32;
53
54pub const MAX_REQUEST_ID: u64 = 9_007_199_254_740_991;