Crate async_dnssd
source ·Expand description
§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.
Structs§
- Pending browse request
- Optional data when browsing for a service; either use its default value or customize it like:
- Browse result
- Flags for
BrowseResult
- DNS CLASS
- Connection to register records with
- Pending domain enumeration
- Domain enumeration result
- Flags for
EnumerateDomains
- Full name consiting of (up to) three parts
- Network interface index
- Flags for
QueryRecordResult
- Pending query
- Optional data when querying for a record; either use its default value or customize it like:
- Flags used to query for a record
- Query result
- A successful record registration
- Pending registration
- Optional data when registering a service; either use its default value or customize it like:
- Flags used to register service
- Pending record registration
- Optional data when registering a record; either use its default value or customize it like:
- Flags used to register a record
- Service registration result
- Successful registration
- Pending resolve request
- Pending resolve
- Optional data when querying for a record; either use its default value or customize it like:
- Resolve host result
- Resolve result
- Flags for
ResolveResult
- Flags for
ResolveHostResult
- Add a timeout to a stream; each time an item is received the timer is reset
- Key-Value container that uses DNS
TXT
RDATA as representation - Iterator for entries in
TxtRecord
- DNS (RR)TYPE
Enums§
- Whether to enumerate domains which are browsed or domains for which registrations can be made.
- API Error
- Network interface
- IP address with port and “scope id” (even for IPv4)
- Error returned when inserting new entries failed
Constants§
- Maximum length of full name including trailing dot and terminating NULL
Traits§
Stream
extension to simplify buildingTimeoutStream
Functions§
- Browse for available services
- 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
- Query for an arbitrary DNS record
- Purge record from cache
- Register a service
- Register a service
- Find hostname and port (and more) for a service
- Resolves hostname (with passed port) to stream of
ScopedSocketAddr
.