22 lines
941 B
OCaml
22 lines
941 B
OCaml
(* (c) 2017, 2018 Hannes Mehnert, all rights reserved *)
|
|
|
|
module type S = sig
|
|
type t
|
|
|
|
val resolve_external : t -> Ipaddr.t * int -> string -> (int32 * string) Lwt.t
|
|
(** [resolve_external t (ip, port) data] resolves for [(ip, port)] the query
|
|
[data] and returns a pair of the minimum TTL and a response. *)
|
|
|
|
val primary_data : t -> Dns_trie.t
|
|
(** [primary_data t] is the DNS trie of the primary for the resolver [t]. *)
|
|
|
|
val update_primary_data : t -> Dns_trie.t -> unit
|
|
(** [update_primary_data t data] updates the primary for the resolver [t]
|
|
with the DNS trie [data]. Any 'notify's to secondaries are discarded -
|
|
secondary name servers are not supported in this setup. *)
|
|
|
|
val update_tls : t -> Tls.Config.server -> unit
|
|
(** [update_tls t tls_config] updates the tls configuration to [tls_config].
|
|
If the resolver wasn't already listening for TLS connections it will
|
|
start listening. *)
|
|
end
|