[package]
edition = "2024"
rust-version = "1.88"
name = "weida"
version = "0.1.0-alpha.2"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "QUIC-native messaging framework: runtime, native QUIC transport, Req/Rep, Push/Pull, Pub/Sub, PAIR, SURVEY and BUS"
homepage = "https://weida.doodleshnookie.net"
readme = false
keywords = [
"messaging",
"quic",
"broker",
"async",
"protocol",
]
categories = [
"network-programming",
"asynchronous",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/tuco86/weida"
[features]
blocking = ["dep:futures"]
default = ["generate"]
generate = ["dep:rcgen"]
[lib]
name = "weida"
path = "src/lib.rs"
[[bin]]
name = "weida"
path = "src/bin/weida.rs"
required-features = ["generate"]
[[example]]
name = "guide_many_peers"
path = "examples/guide_many_peers.rs"
[[example]]
name = "guide_one_transfer"
path = "examples/guide_one_transfer.rs"
[[example]]
name = "large_stream"
path = "examples/large_stream.rs"
[[example]]
name = "owned_runtime"
path = "examples/owned_runtime.rs"
[[example]]
name = "pub_sub"
path = "examples/pub_sub.rs"
[[example]]
name = "push_pull"
path = "examples/push_pull.rs"
[[example]]
name = "transform_client"
path = "examples/transform_client.rs"
[[example]]
name = "transform_server"
path = "examples/transform_server.rs"
[[test]]
name = "blocking"
path = "tests/blocking.rs"
[[test]]
name = "bus"
path = "tests/bus.rs"
[[test]]
name = "cli"
path = "tests/cli.rs"
[[test]]
name = "cursors"
path = "tests/cursors.rs"
[[test]]
name = "dedup"
path = "tests/dedup.rs"
[[test]]
name = "drain"
path = "tests/drain.rs"
[[test]]
name = "foreign_executor"
path = "tests/foreign_executor.rs"
[[test]]
name = "guide"
path = "tests/guide.rs"
[[test]]
name = "hostile"
path = "tests/hostile.rs"
[[test]]
name = "identity"
path = "tests/identity.rs"
[[test]]
name = "identity_source"
path = "tests/identity_source.rs"
[[test]]
name = "interrupted"
path = "tests/interrupted.rs"
[[test]]
name = "large"
path = "tests/large.rs"
[[test]]
name = "pair"
path = "tests/pair.rs"
[[test]]
name = "pubsub"
path = "tests/pubsub.rs"
[[test]]
name = "pushpull"
path = "tests/pushpull.rs"
[[test]]
name = "raw_streams"
path = "tests/raw_streams.rs"
[[test]]
name = "reconnect"
path = "tests/reconnect.rs"
[[test]]
name = "reorder"
path = "tests/reorder.rs"
[[test]]
name = "reqrep"
path = "tests/reqrep.rs"
[[test]]
name = "streams"
path = "tests/streams.rs"
[[test]]
name = "survey"
path = "tests/survey.rs"
[[test]]
name = "transports"
path = "tests/transports.rs"
[[test]]
name = "unsafe_guard"
path = "tests/unsafe_guard.rs"
[[bench]]
name = "connections"
path = "benches/connections.rs"
harness = false
[[bench]]
name = "echo"
path = "benches/echo.rs"
harness = false
[[bench]]
name = "fanout"
path = "benches/fanout.rs"
harness = false
[[bench]]
name = "patterns"
path = "benches/patterns.rs"
harness = false
[[bench]]
name = "transports"
path = "benches/transports.rs"
harness = false
[dependencies.bytes]
version = "1"
[dependencies.futures]
version = "0.3"
optional = true
[dependencies.futures-io]
version = "0.3"
[dependencies.quinn]
version = "0.11"
[dependencies.rand]
version = "0.9"
[dependencies.rcgen]
version = "0.14"
optional = true
[dependencies.ring]
version = "0.17"
[dependencies.rustls-pki-types]
version = "1"
features = ["std"]
[dependencies.rustls-webpki]
version = "0.103"
features = [
"std",
"ring",
]
default-features = false
[dependencies.tokio]
version = "1"
features = [
"rt-multi-thread",
"macros",
"sync",
"io-util",
"time",
"net",
]
[dependencies.tracing]
version = "0.1"
[dependencies.weida-core]
version = "0.1.0-alpha.2"
[dependencies.weida-protocol]
version = "0.1.0-alpha.2"
[dependencies.weida-runtime]
version = "0.1.0-alpha.2"
[dev-dependencies.criterion]
version = "0.8"
features = ["async_tokio"]
[dev-dependencies.futures]
version = "0.3"
[dev-dependencies.tokio]
version = "1"
features = [
"rt-multi-thread",
"macros",
"sync",
"io-util",
"time",
"net",
"io-std",
]
[dev-dependencies.tracing-subscriber]
version = "0.3"
features = [
"fmt",
"env-filter",
]
[lints.rust]
unsafe_code = "forbid"