[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 = { version = "0.1.4", path = "../core", default-features = false } karyon_async_rustls = { version = "0.1.4", path = "./async_rustls", default-features = false, optional = true } # utils log = "0.4.21" bincode = { version = "2.0.0-rc.3", features = ["derive"] } thiserror = "1.0.58" url = "2.5.0" # async utils async-trait = "0.1.77" async-channel = "2.3.0" futures-util = { version = "0.3.30", default-features = false, features = [ "sink", ], optional = true } pin-project-lite = { version = "0.2.13", optional = true } # websocket deps async-tungstenite = { version = "0.25.0", default-features = false, optional = true } # tls deps rustls-pki-types = { version = "1.7.0", optional = true } # tokio util tokio = { version = "1.37.0", features = ["io-util"], optional = true } # serde serde = { version = "1.0.197", features = ["derive"], optional = true } [dev-dependencies] smol = "2.0.0"