[package] name = "karyon_net" description = "Internal crate for Karyon library." version.workspace = true edition.workspace = true homepage.workspace = true repository.workspace = true license.workspace = true authors.workspace = true # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [features] default = ["smol", "all-protocols"] all-protocols = ["tcp", "tls", "ws", "udp", "unix"] stream = ["pin-project-lite", "futures-util"] tcp = ["stream"] tls = ["tcp", "karyon_async_rustls", "rustls-pki-types"] ws = ["tcp", "async-tungstenite"] udp = [] unix = ["stream"] smol = [ "karyon_core/smol", "async-tungstenite?/async-std-runtime", "karyon_async_rustls?/smol", ] tokio = [ "karyon_core/tokio", "async-tungstenite?/tokio-runtime", "karyon_async_rustls?/tokio", "dep:tokio", ] serde = ["dep:serde"] [dependencies] karyon_core = { workspace = true } karyon_async_rustls = { workspace = true, optional = true } log = { workspace = true } thiserror = { workspace = true } url = { workspace = true } serde = { workspace = true, features = ["derive"], optional = true } bincode = { workspace = true, features = ["derive"] } # async async-trait = { workspace = true } async-channel = { workspace = true } futures-util = { workspace = true, features = ["sink"], optional = true } pin-project-lite = { workspace = true, optional = true } tokio = { workspace = true, features = ["io-util"], optional = true } # websocket async-tungstenite = { workspace = true, optional = true } # tls rustls-pki-types = { workspace = true, optional = true } [dev-dependencies] smol = { workspace = true }