[package]
edition = "2021"
name = "hive-btle"
version = "0.0.8"
authors = ["(r)evolve - Revolve Team LLC"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Bluetooth Low Energy mesh transport for HIVE Protocol"
readme = "README.md"
keywords = [
"bluetooth",
"ble",
"mesh",
"hive",
"tactical",
]
categories = [
"network-programming",
"embedded",
]
license = "Apache-2.0"
repository = "https://app.radicle.xyz/nodes/seed.radicle.garden/rad:z3fF7wV6LXz915ND1nbHTfeY3Qcq7"
[package.metadata.docs.rs]
features = ["linux"]
[features]
android = [
"dep:jni",
"dep:ndk",
"dep:tokio",
]
coded-phy = []
default = ["std"]
embedded = []
esp32 = [
"embedded",
"std",
"dep:esp-idf-svc",
"dep:esp-idf-hal",
]
extended-adv = []
ios = [
"dep:objc2",
"dep:block2",
"dep:tokio",
"dep:objc2-foundation",
"dep:objc2-core-bluetooth",
]
linux = [
"dep:bluer",
"dep:tokio",
"dep:tokio-stream",
]
macos = [
"dep:objc2",
"dep:block2",
"dep:tokio",
"dep:objc2-foundation",
"dep:objc2-core-bluetooth",
]
std = [
"thiserror/std",
"uuid/std",
]
windows = [
"dep:windows",
"dep:tokio",
]
[lib]
name = "hive_btle"
crate-type = [
"rlib",
"cdylib",
]
path = "src/lib.rs"
[[example]]
name = "basic_mesh"
path = "examples/basic_mesh.rs"
[[example]]
name = "encryption_demo"
path = "examples/encryption_demo.rs"
[[example]]
name = "linux_scanner"
path = "examples/linux_scanner.rs"
[[example]]
name = "peer_e2ee"
path = "examples/peer_e2ee.rs"
[[test]]
name = "emergency_flow"
path = "tests/emergency_flow.rs"
[[test]]
name = "mesh_sync"
path = "tests/mesh_sync.rs"
[[test]]
name = "peer_connection_test"
path = "tests/peer_connection_test.rs"
[dependencies.async-trait]
version = "0.1"
[dependencies.bitflags]
version = "2.6"
[dependencies.block2]
version = "0.5"
optional = true
[dependencies.bluer]
version = "0.17"
features = ["bluetoothd"]
optional = true
[dependencies.chacha20poly1305]
version = "0.10"
[dependencies.esp-idf-hal]
version = "0.45"
optional = true
[dependencies.esp-idf-svc]
version = "0.50"
optional = true
[dependencies.hkdf]
version = "0.12"
[dependencies.jni]
version = "0.21"
optional = true
[dependencies.log]
version = "0.4"
[dependencies.ndk]
version = "0.9"
optional = true
[dependencies.objc2]
version = "0.5"
optional = true
[dependencies.objc2-core-bluetooth]
version = "0.2"
features = ["all"]
optional = true
[dependencies.objc2-foundation]
version = "0.2"
optional = true
[dependencies.rand_core]
version = "0.6"
features = ["getrandom"]
[dependencies.sha2]
version = "0.10"
[dependencies.spin]
version = "0.9"
features = ["rwlock"]
default-features = false
[dependencies.thiserror]
version = "2.0"
default-features = false
[dependencies.tokio]
version = "1.42"
features = [
"sync",
"time",
"macros",
"rt-multi-thread",
]
optional = true
[dependencies.tokio-stream]
version = "0.1"
optional = true
[dependencies.uuid]
version = "1.11"
default-features = false
[dependencies.windows]
version = "0.58"
features = [
"Devices_Bluetooth",
"Devices_Bluetooth_Advertisement",
"Devices_Bluetooth_GenericAttributeProfile",
"Foundation",
"Foundation_Collections",
"Storage_Streams",
"implement",
]
optional = true
[dependencies.x25519-dalek]
version = "2.0"
features = ["static_secrets"]
[dev-dependencies.env_logger]
version = "0.11"
[dev-dependencies.tokio]
version = "1.42"
features = [
"rt-multi-thread",
"macros",
]
[dev-dependencies.tokio-test]
version = "0.4"