package mirage-protocols-lwt
Library
Module
Module type
Parameter
Class
Class type
UDP stack over IPv6
type buffer = Cstruct.t
The type for memory buffers.
type ipaddr = Ipaddr.V6.t
The type for an IP address representations.
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 with type 'a io = 'a Lwt.t
type 'a io = 'a Lwt.t
The type for potentially blocking I/O operation
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.
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.
val write :
?src_port:int ->
?ttl:int ->
dst:ipaddr ->
dst_port:int ->
t ->
buffer ->
(unit, error) Stdlib.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.