Up

module Dns_server

: sig
#
type ip_endpoint = Ipaddr.t * int
#
type 'a process = src:ip_endpoint -> dst:ip_endpoint -> 'a -> Dns.Query.answer option Lwt.t
#
module type PROCESSOR = sig
include Dns.Protocol.SERVER
#
val process : context process

DNS responder function.

src Server sockaddr
dst Client sockaddr
Query packet
Returns Answer packet
end
#
type 'a processor = (module PROCESSOR with type context = 'a)
#
val process_query : Dns.Buf.t -> int -> Dns.Buf.t -> ip_endpoint -> ip_endpoint -> (module PROCESSOR) -> Dns.Buf.t option Lwt.t

process_query ibuf ibuflen obuf src dst processor

#
val processor_of_process : Dns.Packet.t process -> Dns.Packet.t processor
#
val process_of_zonebufs : string list -> Dns.Packet.t process
#
val process_of_zonebuf : string -> Dns.Packet.t process
end