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§
- 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
- Pending 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
- Registration
- Successful registration
- 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
TXT
RDATA 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 Stream
extension to simplify buildingTimeoutStream
Functions§
- browse
- Browse for available services
- browse_
extended - Browse for available services
- connect
- Create
Connection
to 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
.