package paf
Page
Library
Module
Module type
Parameter
Class
Class type
Source
Parameter TCPV4V6.Stack
Disconnect from the dual IPv4 and IPv6 stack. While this might take some time to complete, it can never result in an error.
module UDP : Tcpip.Udp.S with type ipaddr = Ipaddr.tmodule TCP : Tcpip.Tcp.S with type ipaddr = Ipaddr.tmodule IP : Tcpip.Ip.S with type ipaddr = Ipaddr.tudp t obtains a descriptor for use with the UDP module, usually to transmit traffic.
tcp t obtains a descriptor for use with the TCP module, usually to initiate outgoing connections.
ip t obtains a descriptor for use with the IP module, which can handle raw IPv4 and IPv6 frames, or manipulate IP address configuration on the stack interface.
val listen_udp : t -> port:int -> UDP.callback -> unitlisten_udp t ~port cb registers the cb callback on the UDP 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:Tcpip.Tcp.Keepalive.t ->
t ->
port:int ->
(TCP.flow -> unit Lwt.t) ->
unitlisten_tcp ~keepalive t ~port cb registers the cb callback on the TCP 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.