[package]
name = "mavrouter"
version = "0.1.0"
edition = "2021"
authors = ["Fang Luo <luofang@luofang.org>"]
description = "A MAVLink router written in Rust"
license = "GPL-3.0"
repository = "https://github.com/luofang34/mavrouter-rs"
homepage = "https://github.com/luofang34/mavrouter-rs"
documentation = "https://docs.rs/mavrouter"
readme = "README.md"
keywords = ["mavlink", "router", "telemetry"]
categories = ["network-programming"]
exclude = [
    "logs/*",
    "*.log",
    "test_config.toml",
    "router.pid",
    ".github/*",
]

[dependencies]
parking_lot = "0.12"
tokio = { version = "1.36", features = ["full"] }
serde = { version = "1.0", features = ["derive"] }
toml = "0.8"
clap = { version = "4.5", features = ["derive", "env"] }
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
mavlink = "0.12"
anyhow = "1.0"
futures = "0.3"
tokio-serial = "5.4"
thiserror = "1.0"
tokio-util = { version = "0.7", features = ["codec", "net"] }
bytes = "1.0"

[dev-dependencies]
criterion = "0.5"

[features]
benchmarks = []

[[bench]]
name = "routing_benchmark"
harness = false

[lints.rust]
unsafe_code = "forbid"

[lints.clippy]
unwrap_used = "deny"
expect_used = "deny"
panic = "deny"
todo = "warn"
