package dns-resolver

  1. Overview
  2. Docs
DNS resolver business logic

Install

dune-project
 Dependency

Authors

Maintainers

Sources

dns-10.2.5.tbz
sha256=23af091a6e4c13322b7f9094577e6d72dfcd5e23c4ec00fa3520edb4ff9f5fef
sha512=36b2e4eef2fd9f27bdafba10a86b078cb37e4cd461b363a57b71ca9bd7493ec2388cd9e44c374f1c2a65b73e0dd16c959aed7bd0f91151b3027737b44d4c9332

doc/dns-resolver.mirage/Dns_resolver_mirage/Make/argument-1-S/UDP/index.html

Module S.UDP

type error

The type for UDP errors.

val pp_error : error Fmt.t

pp is the pretty-printer for errors.

type ipaddr = Ipaddr.t

The type for an IP address representations.

type t

The type representing the internal state of the UDP layer.

val disconnect : t -> unit Lwt.t

Disconnect from the UDP layer. While this might take some time to complete, it can never result in an error.

type callback = src:ipaddr -> dst:ipaddr -> src_port:int -> Cstruct.t -> unit Lwt.t

The type for callback functions that adds the UDP metadata for src and dst IP addresses, the src_port of the connection and the buffer payload of the datagram.

val listen : t -> port:int -> callback -> unit

listen t ~port callback executes callback for each packet received on port.

val unlisten : t -> port:int -> unit

unlisten t ~port stops any listeners on port.

val input : t -> src:ipaddr -> dst:ipaddr -> Cstruct.t -> unit Lwt.t

input t demultiplexes incoming datagrams based on their destination port.

val write : ?src:ipaddr -> ?src_port:int -> ?ttl:int -> dst:ipaddr -> dst_port:int -> t -> Cstruct.t -> (unit, error) result Lwt.t

write ~src ~src_port ~ttl ~dst ~dst_port udp data is a task that writes data from an optional src and src_port to a dst and dst_port IP address pair. An optional time-to-live (ttl) is passed through to the IP layer.