Up

module Dnscurve_resolver

: sig
#
type env = {
# mutable streamlined
: bool option;
# mutable txt
: bool option;
}
#
module type DNSCURVECLIENT = sig
include Dns.Protocol.CLIENT
#
val marshal : Dnscurve.keyring option -> Sodium.Box.keypair -> ?alloc:(unit -> Dns.Buf.t) -> Dns.Packet.t -> (context * Dns.Buf.t) list
end
#
val new_env : unit -> env
#
val reset_env : env -> unit
#
val streamlined : Sodium.public Sodium.Box.key -> (module Dns.Protocol.CLIENT) -> (module DNSCURVECLIENT)
#
val between : (unit -> Dnscurve.keyring option * Sodium.Box.keypair) -> env -> Sodium.public Sodium.Box.key -> Dns.Name.domain_name -> (module Dns.Protocol.CLIENT) -> (module Dns.Protocol.CLIENT) -> (module Dns.Protocol.CLIENT)
#
val fallback : (unit -> Dnscurve.keyring option * Sodium.Box.keypair) -> env -> Sodium.public Sodium.Box.key -> Dns.Name.domain_name -> (module Dns.Protocol.CLIENT) -> (module Dns.Protocol.CLIENT)
end