Dns_server.Secondaryval data : s -> Dns_trie.tdata s is the zone data of s.
val with_data : s -> Dns_trie.t -> swith_data s trie is s with its data replaced by trie.
val create :
?primary:Ipaddr.t ->
tsig_verify:Dns.Tsig_op.verify ->
tsig_sign:Dns.Tsig_op.sign ->
rng:(int -> string) ->
('a Domain_name.t * Dns.Dnskey.t) list ->
screate ~primary ~tsig_verify ~tsig_sign ~rng keys creates a secondary DNS server state.
val handle_packet :
?packet_callback:packet_callback ->
s ->
Ptime.t ->
int64 ->
Ipaddr.t ->
Dns.Packet.t ->
'a Domain_name.t option ->
s * Dns.Packet.t option * (Ipaddr.t * string) optionhandle_packet s now ts ip proto key t handles the incoming packet.
val handle_buf :
?packet_callback:packet_callback ->
s ->
Ptime.t ->
int64 ->
Dns.proto ->
Ipaddr.t ->
string ->
s * string option * (Ipaddr.t * string) optionhandle_buf ~packet_callback s now ts proto src buf decodes buf, processes with handle_packet, and encodes the results.
timer s now ts may request SOA or retransmit AXFR.