package dns-client-mirage
Library
Module
Module type
Parameter
Class
Class type
include Dns_client.S
with type +'a io = 'a Lwt.t
and type io_addr =
[ `Plaintext of Ipaddr.t * int
| `Tls of Tls.Config.client * Ipaddr.t * int ]
with type stack = S.t * H.t
A context is a network connection initialized by connect
type +'a io = 'a Lwt.t
io
is the type of an effect. 'err
is a polymorphic variant.
An address for a given context type, usually this will consist of IP address + a TCP/IP or UDP/IP port number, but for some context types it can carry additional information for purposes of cryptographic verification.
create ~nameservers ~timeout stack
creates the state record of the DNS client. We use timeout
(ns) as a cumulative time budget for connect and request timeouts.
The address of a nameservers that is supposed to work with the underlying context, can be used if the user does not want to bother with configuring their own.
val rng : int -> Cstruct.t
rng t
is a random number generator.
connect t
is a new connection (context
) to t
, or an error.
send_recv context buffer
sends buffer
to the context
upstream, and then reads a buffer.
val lift : 'a -> 'a io
val happy_eyeballs : t -> happy_eyeballs