[package]
name = "ombrac-server"
version.workspace = true
authors.workspace = true
edition.workspace = true
license.workspace = true
keywords.workspace = true
repository.workspace = true
description.workspace = true
readme = "../../README.md"
[[bin]]
name = "ombrac-server"
path = "bin/main.rs"
required-features = ["binary"]
[lib]
name = "ombrac_server"
crate-type = ["staticlib", "cdylib", "rlib"]
[features]
default = ["tracing"]
tracing = [
"dep:tracing",
"ombrac-macros/tracing",
"ombrac-transport/tracing"
]
datagram = [
"moka",
"ombrac-transport/datagram"
]
binary = [
"tracing",
"datagram",
"dep:tracing-appender",
"dep:tracing-subscriber"
]
ffi = [
"tracing",
"datagram",
"dep:tracing-appender",
"dep:tracing-subscriber"
]
full = [
"tracing",
"datagram",
"dep:tracing-appender",
"dep:tracing-subscriber"
]
[dependencies]
ombrac = { workspace = true }
ombrac-macros = { workspace = true }
ombrac-transport = { workspace = true, features = ["quic"] }
bytes = { workspace = true }
blake3 = { workspace = true }
bincode = { workspace = true }
futures = { workspace = true }
arc-swap = { workspace = true }
thiserror = { workspace = true }
rand = { workspace = true }
serde = { workspace = true, features = ["derive"] }
serde_json = { workspace = true }
clap = { workspace = true, features = ["std", "derive", "color", "help", "usage", "error-context", "suggestions"] }
tokio = { workspace = true, features = ["rt-multi-thread", "net", "macros", "signal"] }
tokio-util = { workspace = true, features = ["codec"] }
hickory-resolver = { workspace = true }
moka = { workspace = true, features = ["future"], optional = true }
tracing = { workspace = true, features = ["attributes"], optional = true }
tracing-appender = { workspace = true, optional = true }
tracing-subscriber = { workspace = true, features = ["ansi", "env-filter", "registry"], optional = true }
[dev-dependencies]
tokio = { workspace = true, features = ["full"] }
[build-dependencies]
cbindgen = { workspace = true }
[lints]
workspace = true