ombrac-server 0.6.2

Safe, fast, small TCP tunnel using Rust
Documentation
[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",
    "datagram",
    "transport-default"
]

binary = [
    "datagram",
    "tracing",
    "transport-quic"
]

datagram = [
    "ombrac-transport/datagram",
    "moka"
]

tracing = [
    "dep:tracing", 
    "dep:tracing-appender",
    "dep:tracing-subscriber",
    "ombrac-transport/tracing"
]

transport-default = ["transport-quic"]
transport-quic = ["ombrac-transport/quic"]

[dependencies]
ombrac = { workspace = true }
ombrac-macros = { workspace = true }
ombrac-transport = { workspace = true }

bytes = { workspace = true }
blake3 = { workspace = true }
bincode = { workspace = true }
futures = { workspace = true }
arc-swap = { workspace = true }
thiserror = { workspace = true }
serde = { workspace = true, features = ["derive"] }
figment = { workspace = true, features = ["json"] }
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"] }
moka = { workspace = true, features = ["future"], optional = true }
tracing = { workspace = true, 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