ling-net
↓ 0 downloadsAsync networking — HTTP, WebSocket, QUIC, and peer-to-peer
Keywords net, async, http, quic, websocket, p2p
lingfu install ling-netCode / Files (26)
Cargo.toml
[package]
name = "ling-net"
version = "2030.0.8"
edition = "2021"
authors = ["Ling Lin <taellinglin@gmail.com>", "Sanny Lin <SannyLing53@gmail.com>"]
description = "Async networking — HTTP, WebSocket, QUIC, and peer-to-peer"
license = "Apache-2.0 OR MIT"
readme = "README.md"
repository = "https://github.com/taellinglin/ling"
[features]
default = ["http"]
http = ["dep:axum", "dep:reqwest", "dep:tokio"]
websocket = ["dep:tokio-tungstenite", "dep:tokio"]
quic = ["dep:quinn", "dep:tokio"]
grpc = ["dep:tonic", "dep:prost", "dep:tokio"]
# lingtp:// — raw-TCP, post-quantum secure transport (ML-DSA-87 + hybrid KEM
# handshake, XChaCha20-Poly1305 + DICE-42 cascade record layer). Not HTTP —
# its own framing, so it only needs `rand`/`subtle` on top of the base deps.
lingtp = ["dep:rand", "dep:subtle"]
[dependencies]
ling-core = { workspace = true }
ling-crypto = { workspace = true }
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
anyhow = "1.0"
thiserror = "1.0"
tokio = { version = "1.37", features = ["rt", "net", "io-util", "macros"], optional = true }
axum = { version = "0.7", optional = true }
reqwest = { version = "0.12", features = ["json"], optional = true }
tokio-tungstenite = { version = "0.21", optional = true }
quinn = { version = "0.11", optional = true }
tonic = { version = "0.11", optional = true }
prost = { version = "0.12", optional = true }
rand = { version = "0.8", features = ["std"], optional = true }
subtle = { version = "2.6", optional = true }
[lib]
name = "ling_net"
path = "src/lib.rs"