[package]
name = "radio-utils-protocol"
version.workspace = true
edition.workspace = true
license.workspace = true
repository.workspace = true
authors.workspace = true
description = "OpenHPSDR Protocol 1 client library for Hermes / Hermes Lite 2"
readme = "README.md"
keywords = ["ham-radio", "sdr", "hpsdr", "openhpsdr", "amateur-radio"]
categories = ["network-programming", "hardware-support"]
rust-version = "1.87"

[dependencies]
tokio = { workspace = true, optional = true, features = ["net", "rt", "macros"] }
ringbuf = { workspace = true }
log = { workspace = true }
thiserror = { workspace = true }
num-complex = { workspace = true }
rand = { workspace = true, optional = true }
serde = { workspace = true, optional = true, features = ["derive"] }
serde_json = { workspace = true, optional = true }
bincode = { workspace = true, optional = true }
if-addrs = { workspace = true, optional = true }

[features]
default = ["client"]
client = ["dep:tokio", "dep:rand", "if-addrs"]
serde = ["dep:serde", "dep:serde_json", "dep:bincode"]
if-addrs = ["dep:if-addrs"]
