[package]
name = "alpine-protocol-rs"
version = "2.0.17"
edition = "2021"
description = "Authenticated Lighting Protocol (alpine): secure control-plane + streaming guard for lighting data."
license = "Apache-2.0"
publish = ["crates-io", "github"]

[lib]
name = "alpine"
crate-type = ["rlib", "staticlib"]

[dependencies]
async-trait = "0.1"
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
serde_cbor = "0.11"
thiserror = "1.0"
rand = "0.8"
uuid = { version = "1.6", features = ["serde", "v4"] }
x25519-dalek = { version = "2.0", default-features = false, features = ["static_secrets", "getrandom"] }
ed25519-dalek = { version = "2.1", features = ["pkcs8"] }
rand_core = "0.6"
rustls-pemfile = "2.1"
tokio = { version = "1.37", features = ["net", "rt", "rt-multi-thread", "time", "macros"] }
tokio-util = { version = "0.7", features = ["codec"] }
parking_lot = "0.12"
chacha20poly1305 = { version = "0.10", features = ["alloc"] }
hkdf = "0.12"
sha2 = "0.10"
tracing = "0.1"
[dev-dependencies]
criterion = "0.4"

[registries]
github = { index = "https://github.com/alpine-core/Authenticated-Lighting-Protocol.git" }

[[bench]]
name = "alpine_streaming"
path = "benches/alpine_streaming.rs"
harness = false

[[bench]]
name = "artnet_streaming"
path = "benches/artnet_streaming.rs"
harness = false

[[bench]]
name = "sacn_streaming"
path = "benches/sacn_streaming.rs"
harness = false
