package tcpip
- Overview
- No Docs
You can search for identifiers within the package.
in-package search v0.2.0
Install
Dune Dependency
Authors
Maintainers
Sources
sha256=96b6aeafa35f143f7275d1becb6d639472adf3680b8180416de765b6581c466d
sha512=3f873c986de5c58df72db2953c6b2a6319963dbbbd0781b55c2878fd1eaa081ebb7cecbee595db7cb3680a6f438904f98cb69ca17e70c7a6d2d1f61277e929bd
doc/tcpip.stack-direct/Tcpip_stack_direct/MakeV4V6/index.html
Module Tcpip_stack_direct.MakeV4V6
Source
Parameters
module Time : Mirage_time.S
module Random : Mirage_random.S
module Netif : Mirage_net.S
module Ethernet : Ethernet.S
module Ip : Tcpip.Ip.S with type ipaddr = Ipaddr.t
module Udp : Tcpip.Udp.S with type ipaddr = Ipaddr.t
module Tcp : Tcpip.Tcp.S with type ipaddr = Ipaddr.t
Signature
include Tcpip.Stack.V4V6
with module IP = Ip
and module TCP = Tcp
and module UDP = Udp
The type representing the internal state of the dual IPv4 and IPv6 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 = Udp
module TCP = Tcp
module IP = Ip
udp 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.
listen_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) ->
unit
listen_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.
val connect :
Netif.t ->
Ethernet.t ->
Arpv4.t ->
Ip.t ->
Icmpv4.t ->
Udp.t ->
Tcp.t ->
t Lwt.t
connect
assembles the arguments into a network stack, then calls `listen` on the assembled stack before returning it to the caller. The initial `listen` functions to ensure that the lower-level layers are functioning, so that if the user wishes to establish outbound connections, they will be able to do so.