package mirage-protocols

  1. Overview
  2. Docs

Module type Mirage_protocols.UDPSource

Sourcetype error

The type for UDP errors.

Sourceval pp_error : error Fmt.t

pp is the pretty-printer for errors.

Sourcetype buffer

The type for memory buffers.

Sourcetype ipaddr

The type for an IP address representations.

Sourcetype ipinput

The type for input function continuation to pass onto the underlying IP stack. This will normally be a NOOP for a conventional kernel, but a direct implementation will parse the buffer.

include Mirage_device.S
Sourcetype +'a io

The type for potentially blocking I/O operation

Sourcetype t

The type representing the internal state of the device

Sourceval disconnect : t -> unit io

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

Sourcetype callback = src:ipaddr -> dst:ipaddr -> src_port:int -> buffer -> unit io

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.

Sourceval input : listeners:(dst_port:int -> callback option) -> t -> ipinput

input listeners t demultiplexes incoming datagrams based on their destination port. The listeners callback will either return a concrete handler or a None, which results in the datagram being dropped.

Sourceval write : ?src_port:int -> ?ttl:int -> dst:ipaddr -> dst_port:int -> t -> buffer -> (unit, error) result io

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