package utcp
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
On This Page
An implementation of TCP (Transmission Control Protocol) in OCaml
Install
dune-project
Dependency
Authors
Maintainers
Sources
utcp-0.0.8.tbz
md5=221e1c5779a24a265c9043f65ec79611
sha512=cc1b07dbfbc43985c25e8068f7664613e4e15e2a7832771d99dca3558f37f8dc839f79b4166f2697b7ac487693a9451a0b7b35ae3747a9565b43e4d31f0f2ae3
Description
µTCP is an implementation of the Transmission Control Protocol (RFC 793) in OCaml. TCP is widely used on the Internet today.
This implementation is based on the research project Network Semantics (https://www.cl.cam.ac.uk/~pes20/Netsem/) which developed a rigorous test oracle specification and validation for TCP/IP and the Sockets API (also see the JACM paper http://www.cl.cam.ac.uk/~pes20/Netsem/paper3.pdf) in HOL4. The implementation does not adhere to the specification, since some features of TCP that are rarely used are not implemented (such as the urgent flag and urgent pointers).
The target of this opam package is the MirageOS (https://mirageos.org) unikernel operating system.
Added to opam-repository:
Dependencies (17)
-
tcpip
>= "9.0.0" -
mirage-mtime
>= "5.0.0" -
mirage-sleep
>= "4.0.0" -
lwt
>= "5.4.2" -
base64
>= "3.5.1" -
mirage-crypto-rng
>= "1.2.0" -
metrics
>= "0.4.1" -
mtime
>= "1.4.0" -
randomconv
>= "0.2.0" -
logs
>= "0.7.0" -
ipaddr-cstruct
>= "5.2.0" -
ipaddr
>= "5.2.0" -
fmt
>= "0.8.7" -
duration
>= "0.2.0" -
cstruct
>= "6.0.1" -
dune
>= "2.7.0" -
ocaml
>= "4.13.0"
Dev Dependencies (11)
-
pcap-format
>= "0.6.0" & with-dev-setup -
mirage-unix
>= "5.0.0" & with-dev-setup -
arp
>= "4.0.0" & with-dev-setup -
ethernet
>= "2.2.1" & with-dev-setup -
mirage-net-unix
>= "2.8.0" & with-dev-setup -
cmdliner
>= "1.1.0" & with-dev-setup -
bechamel-js
with-test -
bechamel
with-test -
ohex
with-test -
crowbar
>= "0.2.1" & with-test -
alcotest
>= "1.5.0" & with-test
Used by (7)
Conflicts
None
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
On This Page