Module xfer
Expand description
DNS high level transit implementations.
Primarily there are two types in this module of interest, the DnsMultiplexer type and the DnsHandle type. DnsMultiplexer can be thought of as the state machine responsible for sending and receiving DNS messages. DnsHandle is the type given to API users of the hickory-proto library to send messages into the DnsMultiplexer for delivery. Finally there is the DnsRequest type. This allows for customizations, through DnsRequestOptions, to the delivery of messages via a DnsMultiplexer.
TODO: this module needs some serious refactoring and normalization.
Modules§
- dns_
handle DnsHandletypes perform conversions of the raw DNS messages before sending the messages on the specified streams.- dns_
multiplexer DnsMultiplexerand associated types implement the state machines for sending DNS messages while using the underlying streams.- dns_
request DnsRequestwraps aMessageand associates a set ofDnsRequestOptionsfor specifying different transfer options.- dns_
response DnsResponsewraps aMessageand any associated connection details- retry_
dns_ handle RetryDnsHandleallows for DnsQueries to be reattempted on failure
Structs§
- BufDns
Request Stream Handle - Used for associating a name_server to a DnsRequestStreamHandle
- BufDns
Stream Handle - A buffering stream bound to a
SocketAddr - DnsExchange
- This is a generic Exchange implemented over multiplexed DNS connection providers.
- DnsExchange
Background - This background future is responsible for driving all network operations for the DNS protocol.
- DnsExchange
Connect - A wrapper for a future DnsExchange connection.
- DnsExchange
Send - A Stream that will resolve to Responses after sending the request
- DnsMultiplexer
- A DNS Client implemented over futures-rs.
- DnsMultiplexer
Connect - A wrapper for a future DnsExchange connection
- DnsRequest
- A DNS request object
- DnsRequest
Options - A set of options for expressing options to how requests should be treated
- DnsResponse
- A DNS response object
- DnsResponse
Stream - A stream returning DNS responses
- First
Answer Future - See FirstAnswer::first_answer
- Oneshot
DnsRequest - A OneshotDnsRequest creates a channel for a response to message
- Retry
DnsHandle - Can be used to reattempt queries if they fail
- Serial
Message - A DNS message in serialized form, with either the target address or source address
Enums§
- DnsResponse
Receiver - A Stream that wraps a
oneshot::Receiver<Stream>and resolves to items in the inner Stream - Protocol
- The protocol on which a NameServer should be communicated with
Traits§
- DnsClient
Stream - A non-multiplexed stream of Serialized DNS messages
- DnsHandle
- A trait for implementing high level functions of DNS.
- DnsRequest
Sender - Types that implement this are capable of sending a serialized DNS message on a stream
- DnsStream
Handle - Implementations of Sinks for sending DNS messages
- First
Answer - Helper trait to convert a Stream of dns response into a Future
Type Aliases§
- Stream
Receiver - Receiver handle for peekable fused SerialMessage channel