auto-discovery 0.2.0

A general-purpose network and system service discovery library for Rust applications
Documentation
[[bench]]
harness = false
name = "discovery_benchmarks"
path = "benches/discovery_benchmarks.rs"

[dependencies.async-trait]
version = "0.1"

[dependencies.backoff]
version = "0.4"

[dependencies.base64]
version = "0.22"

[dependencies.bytes]
version = "1.5"

[dependencies.chrono]
features = ["serde"]
version = "0.4"

[dependencies.flume]
version = "0.11.1"

[dependencies.futures]
version = "0.3"

[dependencies.governor]
version = "0.10"

[dependencies.hex]
version = "0.4"

[dependencies.hyper]
features = ["full"]
version = "1.6"

[dependencies.mdns]
optional = true
version = "3.0"

[dependencies.mdns-sd]
optional = true
version = "0.13.11"

[dependencies.metrics]
optional = true
version = "0.24"

[dependencies.metrics-exporter-prometheus]
optional = true
version = "0.17"

[dependencies.native-tls]
optional = true
version = "0.2"

[dependencies.quick-xml]
features = ["serialize"]
optional = true
version = "0.38"

[dependencies.rand]
version = "0.9"

[dependencies.reqwest]
default-features = false
features = ["json", "native-tls"]
optional = true
version = "0.12"

[dependencies.ring]
optional = true
version = "0.17"

[dependencies.serde]
features = ["derive"]
version = "1.0"

[dependencies.simple-mdns]
features = ["async-tokio"]
optional = true
version = "0.6"

[dependencies.socket2]
version = "0.6"

[dependencies.tempfile]
optional = true
version = "3.8"

[dependencies.thiserror]
version = "2.0"

[dependencies.tokio]
features = ["full"]
version = "1.0"

[dependencies.tokio-metrics]
optional = true
version = "0.4"

[dependencies.tokio-stream]
version = "0.1"

[dependencies.tokio-util]
features = ["net"]
version = "0.7"

[dependencies.tower]
features = ["full"]
version = "0.5"

[dependencies.tower-http]
features = ["full"]
version = "0.6"

[dependencies.tracing]
version = "0.1"

[dependencies.trust-dns-client]
features = ["dnssec"]
optional = true
version = "0.23"

[dependencies.trust-dns-proto]
version = "0.23"

[dependencies.trust-dns-resolver]
version = "0.23"

[dependencies.url]
version = "2.5.4"

[dependencies.uuid]
features = ["v4", "serde"]
version = "1.0"

[dependencies.x509-parser]
optional = true
version = "0.17"

[dev-dependencies.criterion]
features = ["html_reports", "async_tokio"]
version = "0.6"

[dev-dependencies.mockall]
version = "0.13"

[dev-dependencies.proptest]
version = "1.3"

[dev-dependencies.rand]
version = "0.9"

[dev-dependencies.tempfile]
version = "3.8"

[dev-dependencies.test-log]
version = "0.2"

[dev-dependencies.tokio-test]
version = "0.4"

[dev-dependencies.tracing-subscriber]
features = ["env-filter"]
version = "0.3"

[[example]]
name = "basic_usage"
path = "examples/basic_usage.rs"

[[example]]
name = "builder_pattern"
path = "examples/builder_pattern.rs"

[[example]]
name = "comprehensive_api_demo"
path = "examples/comprehensive_api_demo.rs"

[[example]]
name = "cross_protocol"
path = "examples/cross_protocol.rs"

[[example]]
name = "dns_sd_example"
path = "examples/dns_sd_example.rs"

[[example]]
name = "multi_protocol_security"
path = "examples/multi_protocol_security.rs"

[[example]]
name = "non_network_test"
path = "examples/non_network_test.rs"

[[example]]
name = "production_safety"
path = "examples/production_safety.rs"

[[example]]
name = "security_verification"
path = "examples/security_verification.rs"

[[example]]
name = "simple_discovery"
path = "examples/simple_discovery.rs"

[features]
basic-mdns = []
default = ["dns-sd", "mdns-sd", "upnp"]
dns-sd = ["trust-dns-client/dnssec"]
mdns = ["dep:mdns"]
mdns-sd = ["dep:mdns-sd"]
metrics = ["dep:metrics", "dep:metrics-exporter-prometheus", "dep:tokio-metrics"]
secure = ["dep:ring", "dep:x509-parser", "dep:native-tls"]
simple-mdns = ["dep:simple-mdns"]
testing = ["dep:tempfile"]
upnp = ["dep:reqwest", "dep:quick-xml"]

[lib]
name = "auto_discovery"
path = "src/lib.rs"

[package]
authors = ["Eric Evans <ciresnave@gmail.com>"]
autobenches = false
autobins = false
autoexamples = false
autolib = false
autotests = false
build = false
categories = ["network-programming", "asynchronous"]
description = "A general-purpose network and system service discovery library for Rust applications"
edition = "2024"
keywords = ["network", "discovery", "mdns", "service", "upnp"]
license = "MIT OR Apache-2.0"
name = "auto-discovery"
readme = "README.md"
repository = "https://github.com/ciresnave/auto-discovery"
resolver = "2"
version = "0.2.0"

[profile.dev]
debug = 2
opt-level = 0

[profile.release]
codegen-units = 1
debug = 0
lto = true
opt-level = 3
strip = true

[[test]]
name = "mdns_tests"
path = "tests/mdns_tests.rs"

[[test]]
name = "upnp_tests"
path = "tests/upnp_tests.rs"