[package]
name = "jetstream"
version = "11.0.2"
edition = "2021"
description = "Jetstream is a RPC framework for Rust, based on the 9P protocol and QUIC."
documentation = "https://jetstream.rs"
repository = "https://github.com/sevki/jetstream"
license = "BSD-3-Clause"
[package.metadata.docs.rs]
features = ["all"]
[lib]
bench = false
crate-type = ["cdylib", "rlib"]
[[example]]
bench = false
name = "echo"
[[example]]
name = "iroh_echo"
bench = false
required-features = ["iroh"]
[[test]]
bench = false
name = "jetstream_wire_format"
path = "tests/jetstream_wire_format/mod.rs"
[[test]]
name = "server"
bench = false
[[bench]]
harness = false
name = "perf"
[dependencies]
async-trait = "0.1.89"
futures = "0.3.31"
jetstream_9p = { version = "11.0.2", path = "components/jetstream_9p", optional = true }
jetstream_iroh = { version = "11.0.2", path = "components/jetstream_iroh", optional = true }
jetstream_macros = { version = "11.0.2", path = "components/jetstream_macros" }
jetstream_quic = { version = "11.0.2", path = "components/jetstream_quic", optional = true }
jetstream_rpc = { version = "11.0.2", path = "components/jetstream_rpc" }
jetstream_websocket = { version = "11.0.2", path = "components/jetstream_websocket", optional = true }
jetstream_cloudflare = { version = "11.0.2", path = "components/jetstream_cloudflare", optional = true }
jetstream_error = { version = "11.0.2", path = "components/jetstream_error" }
jetstream_wireformat = { version = "11.0.2", path = "components/jetstream_wireformat" }
lazy_static = "1.5.0"
tracing = { version = "0.1.41", optional = true }
tracing-subscriber = { version = "0.3.20", optional = true }
trait-variant = "0.1.2"
[build-dependencies]
cfg_aliases = { workspace = true }
[dev-dependencies]
criterion = { version = "0.7.0", features = ["async_tokio"] }
insta = "1.46.1"
jetstream_error = { version = "11.0.2", path = "components/jetstream_error", features = [
"s2n-quic",
"test-paths",
] }
jetstream_rpc = { version = "11.0.2", path = "components/jetstream_rpc", features = [
"s2n-quic",
"turmoil",
] }
jetstream_wireformat = { version = "11.0.2", path = "components/jetstream_wireformat", features = [
"all",
] }
miette = "7.6.0"
okstd = { version = "1.0.2", features = ["macros"] }
s2n-quic = { workspace = true }
term-transcript = "0.4.0"
tokio = { version = "1.47.1", features = ["full"] }
turmoil = { workspace = true }
[features]
default = ["tracing"]
9p = ["dep:jetstream_9p"]
all = ["9p", "iroh", "quic", "tracing", "websocket", "tokio", "wasm"]
iroh = ["dep:jetstream_iroh", "jetstream_rpc/iroh", "jetstream_error/iroh"]
quic = [
"dep:jetstream_quic",
"jetstream_rpc/s2n-quic",
"jetstream_error/s2n-quic",
]
tokio = ["jetstream_wireformat/tokio"]
tracing = ["dep:tracing", "dep:tracing-subscriber"]
wasm = ["jetstream_wireformat/tokio"]
websocket = ["dep:jetstream_websocket"]
cloudflare = [
"dep:jetstream_cloudflare",
"jetstream_rpc/cloudflare",
"jetstream_error/worker",
]
serde = ["jetstream_rpc/serde"]
[workspace]
members = [
"fuzz",
"components/jetstream_9p",
"components/jetstream_cloudflare",
"components/jetstream_radar",
"components/jetstream_iroh",
"components/jetstream_libc",
"components/jetstream_macros",
"components/jetstream_quic",
"components/jetstream_rpc",
"components/jetstream_ufs",
"components/jetstream_websocket",
"components/jetstream_wireformat",
"components/jetstream_error",
"tools/mdbook-changelog",
]
[workspace.package]
edition = "2021"
description = "Jetstream is a RPC framework for Rust, based on the 9P protocol and QUIC."
documentation = "https://jetstream.rs"
readme = "README.md"
repository = "https://github.com/sevki/jetstream"
license = "BSD-3-Clause"
[workspace.dependencies]
iroh = { version = "0.93.2" }
s2n-quic = "1.67.0"
worker = "0.7.4"
worker-macros = "0.7.4"
tokio-util = { version = "0.7.16", features = ["codec"] }
turmoil = "0.6.5"
url = "2.5.7"
cfg_aliases = "0.2.1"
[patch.crates-io]
jetstream_macros = { path = "components/jetstream_macros" }
jetstream_wireformat = { path = "components/jetstream_wireformat" }