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:
DNSServiceProcessResultdriving callbacks (event loop)DNSServiceRefDeallocatecalled when dropping various resource handlesDNSServiceRefSockFDused for integration with tokio (event loop)DNSServiceRemoveRecordcalled when droppingRecord
The TXTRecord* “TXT Record Construction Functions” are not
wrapped; TxtRecord provides a native rust implementation with
similar functionality.
Structs§
- Browse
- Pending browse request
- Browse
Data - Optional data when browsing for a service; either use its default value or customize it like:
- Browse
Result - Browse result
- Browsed
Flags - Flags for
BrowseResult - Class
- DNS CLASS
- Connection
- Connection to register records with
- Enumerate
Domains - Pending domain enumeration
- Enumerate
Result - Domain enumeration result
- Enumerated
Flags - Flags for
EnumerateDomains - Full
Name - Full name consiting of (up to) three parts
- Interface
Index - Network interface index
- Queried
Record Flags - Flags for
QueryRecordResult - Query
Record - Pending query
- Query
Record Data - Optional data when querying for a record; either use its default value or customize it like:
- Query
Record Flags - Flags used to query for a record
- Query
Record Result - Query result
- Record
- A successful record registration
- Register
Data - Optional data when registering a service; either use its default value or customize it like:
- Register
Flags - Flags used to register service
- Register
Record - Pending record registration
- Register
Record Data - Optional data when registering a record; either use its default value or customize it like:
- Register
Record Flags - Flags used to register a record
- Register
Result - Service registration result
- Registered
Flags - Flags for [
QueryRecordResult] - Registration
- Registration
- Registration
Handle - Registration handle
- Resolve
- Pending resolve request
- Resolve
Host - Pending resolve
- Resolve
Host Data - Optional data when querying for a record; either use its default value or customize it like:
- Resolve
Host Result - Resolve host result
- Resolve
Result - Resolve result
- Resolved
Flags - Flags for
ResolveResult - Resolved
Host Flags - Flags for
ResolveHostResult - Timeout
Stream - Add a timeout to a stream; each time an item is received the timer is reset
- TxtRecord
- Key-Value container that uses DNS
TXTRDATA as representation - TxtRecord
Iter - Iterator for entries in
TxtRecord - Type
- DNS (RR)TYPE
Enums§
- Enumerate
- Whether to enumerate domains which are browsed or domains for which registrations can be made.
- Error
- API Error
- Interface
- Network interface
- Scoped
Socket Addr - IP address with port and “scope id” (even for IPv4)
- TxtRecord
Error - Error returned when inserting new entries failed
Constants§
- MAX_
DOMAIN_ NAME - Maximum length of full name including trailing dot and terminating NULL
Traits§
- Stream
Timeout Ext Streamextension to simplify buildingTimeoutStream
Functions§
- browse
- Browse for available services
- browse_
extended - Browse for available services
- connect
- Create
Connectionto register records with - enumerate_
domains - Enumerate domains that are recommended for registration or browsing
- query_
record - Query for an arbitrary DNS record
- query_
record_ extended - Query for an arbitrary DNS record
- reconfirm_
record - Purge record from cache
- register
- Register a service
- register_
extended - Register a service
- resolve
- Find hostname and port (and more) for a service
- resolve_
host_ extended - Resolves hostname (with passed port) to stream of
ScopedSocketAddr.