8 releases (4 breaking)
0.5.1 | Sep 7, 2024 |
---|---|
0.5.0 | Dec 22, 2021 |
0.5.0-rc.1 | Aug 7, 2020 |
0.4.1 | Aug 7, 2020 |
0.1.0 | Jun 19, 2017 |
#1074 in Network programming
11,019 downloads per month
Used in 13 crates
(2 directly)
120KB
3K
SLoC
This library wraps C libraries implementing the dnssd
:
Discover, publish, and resolve network services on a local area or wide area network.
It integrates into the asynchronous tokio
framework.
The documentation is located at https://stbuehler.github.io/rustdocs/async-dnssd/async_dnssd/.
Documentation for released versions available at https://docs.rs/crate/async-dnssd/.
lib.rs
:
Asynchronous wrapper for DNS-SD C libraries
Interesting entry points:
- Browse for available services
- Create Connection to register records with
- Enumerate domains that are recommended for registration or browsing
- Query for an arbitrary DNS record
- Register a service
- Add a record to a registered service
- Register record
- Find hostname and port (and more) for a service
Also the following things might be interesting:
Porting from dnssd C API
The following functions are called automatically when needed:
DNSServiceProcessResult
driving callbacks (event loop)DNSServiceRefDeallocate
called when dropping various resource handlesDNSServiceRefSockFD
used for integration with tokio (event loop)DNSServiceRemoveRecord
called when droppingRecord
The TXTRecord*
"TXT Record Construction Functions" are not
wrapped; TxtRecord
provides a native rust implementation with
similar functionality.
Dependencies
~3–11MB
~113K SLoC