quic-rpc 0.16.0

A streaming rpc system based on quic
Documentation
[dependencies.anyhow]
version = "1.0.73"

[dependencies.bytes]
optional = true
version = "1"

[dependencies.derive_more]
features = ["from", "try_into", "display"]
version = "1.0.0-beta.6"

[dependencies.flume]
optional = true
version = "0.11"

[dependencies.futures]
optional = true
version = "0.3.30"

[dependencies.futures-lite]
version = "2.3.0"

[dependencies.futures-sink]
version = "0.3.30"

[dependencies.futures-util]
features = ["sink"]
version = "0.3.30"

[dependencies.hyper]
features = ["full"]
optional = true
version = "0.14.16"

[dependencies.iroh-net]
optional = true
version = "0.28.1"

[dependencies.pin-project]
version = "1"

[dependencies.postcard]
features = ["use-std"]
optional = true
version = "1"

[dependencies.quinn]
optional = true
package = "iroh-quinn"
version = "0.12"

[dependencies.serde]
features = ["derive"]
version = "1.0"

[dependencies.slab]
version = "0.4.9"

[dependencies.smallvec]
version = "1.13.2"

[dependencies.time]
version = "0.3.36"

[dependencies.tokio]
default-features = false
features = ["macros", "sync"]
version = "1"

[dependencies.tokio-serde]
features = ["bincode"]
optional = true
version = "0.9"

[dependencies.tokio-util]
features = ["rt"]
version = "0.7"

[dependencies.tracing]
version = "0.1"

[dev-dependencies.anyhow]
version = "1.0.73"

[dev-dependencies.async-stream]
version = "0.3.3"

[dev-dependencies.futures-buffered]
version = "0.2.4"

[dev-dependencies.nested_enum_utils]
version = "0.1.0"

[dev-dependencies.proc-macro2]
version = "1.0.66"

[dev-dependencies.quinn]
features = ["ring"]
package = "iroh-quinn"
version = "0.12"

[dev-dependencies.rcgen]
version = "0.13"

[dev-dependencies.serde]
features = ["derive"]
version = "1"

[dev-dependencies.tempfile]
version = "3.5.0"

[dev-dependencies.testresult]
version = "0.4.1"

[dev-dependencies.thousands]
version = "0.2.0"

[dev-dependencies.tokio]
features = ["full"]
version = "1"

[dev-dependencies.tokio-util]
features = ["rt"]
version = "0.7"

[dev-dependencies.tracing-subscriber]
version = "0.3.16"

[[example]]
name = "errors"
path = "examples/errors.rs"
required-features = ["flume-transport"]

[[example]]
name = "macro"
path = "examples/macro.rs"
required-features = ["flume-transport", "macros"]

[[example]]
name = "modularize"
path = "examples/modularize.rs"
required-features = ["flume-transport"]

[[example]]
name = "store"
path = "examples/store.rs"
required-features = ["flume-transport", "macros"]

[features]
default = ["flume-transport"]
flume-transport = ["dep:flume"]
hyper-transport = ["dep:flume", "dep:hyper", "dep:postcard", "dep:bytes", "dep:tokio-serde", "tokio-util/codec"]
iroh-transport = ["dep:iroh-net", "dep:flume", "dep:postcard", "dep:tokio-serde", "tokio-util/codec"]
macros = []
quinn-transport = ["dep:flume", "dep:quinn", "dep:postcard", "dep:tokio-serde", "tokio-util/codec"]

[lib]
name = "quic_rpc"
path = "src/lib.rs"

[package]
authors = ["RĂ¼diger Klaehn <rklaehn@protonmail.com>", "n0 team"]
autobenches = false
autobins = false
autoexamples = false
autotests = false
build = false
categories = ["network-programming"]
description = "A streaming rpc system based on quic"
edition = "2021"
keywords = ["api", "protocol", "network", "rpc"]
license = "Apache-2.0/MIT"
name = "quic-rpc"
readme = "README.md"
repository = "https://github.com/n0-computer/quic-rpc"
rust-version = "1.76"
version = "0.16.0"

[package.metadata.docs.rs]
all-features = true

[[test]]
name = "flume"
path = "tests/flume.rs"

[[test]]
name = "hyper"
path = "tests/hyper.rs"

[[test]]
name = "iroh"
path = "tests/iroh.rs"

[[test]]
name = "math"
path = "tests/math.rs"

[[test]]
name = "quinn"
path = "tests/quinn.rs"

[[test]]
name = "slow_math"
path = "tests/slow_math.rs"

[[test]]
name = "try"
path = "tests/try.rs"

[[test]]
name = "util"
path = "tests/util.rs"