package mirage-stack
Library
Module
Module type
Parameter
Class
Class type
Disconnect from the IPv6 stack. While this might take some time to complete, it can never result in an error.
module UDP : Mirage_protocols.UDPV6
module TCP : Mirage_protocols.TCPV6
module IP : Mirage_protocols.IPV6
udp t
obtains a descriptor for use with the UDPV6
module, usually to transmit traffic.
tcp t
obtains a descriptor for use with the TCPV6
module, usually to initiate outgoing connections.
ip t
obtains a descriptor for use with the IPV6
module, which can handle raw IPv6 frames, or manipulate IP address configuration on the stack interface.
val listen_udp : t -> port:int -> UDP.callback -> unit
listen_udp t ~port cb
registers the cb
callback on the UDPv6 port
and immediately return. If port
is invalid (not between 0 and 65535 inclusive), it raises Invalid_argument
. Multiple bindings to the same port will overwrite previous bindings, so callbacks will not chain if ports clash.
val listen_tcp :
?keepalive:Mirage_protocols.Keepalive.t ->
t ->
port:int ->
(TCP.flow -> unit Lwt.t) ->
unit
listen_tcp ~keepalive t ~port cb
registers the cb
callback on the TCPv6 port
and immediately return. If port
is invalid (not between 0 and 65535 inclusive), it raises Invalid_argument
. Multiple bindings to the same port will overwrite previous bindings, so callbacks will not chain if ports clash. If ~keepalive
is provided then these keepalive settings will be applied to the accepted connections before the callback is called.