package mnet

  1. Overview
  2. Docs
An implementation of TCP (Transmission Control Protocol) in OCaml for Miou & Solo5

Install

dune-project
 Dependency

Authors

Maintainers

Sources

mnet-0.0.4.tbz
sha256=154c3b18bbb019535a4f37d1fefa3c6131b636e53316a63b395d030b186f2a59
sha512=894d12ff3140b294de1129f76893b295e73093101edec137ba2b2106059081f94385e3e3420c48cde14df6aefbef333bec12f5772c1b85c7ecc73dcde9e5bb8c

doc/mnet.ipv4/IPv4/Writer/index.html

Module IPv4.WriterSource

Efficient IPv4 payload composition.

A t value represents a payload to be sent in an IPv4 packet. Three constructors are provided depending on whether the data is already in memory as a string, as multiple strings, or should be written directly into the outgoing buffer. The writer handles fragmentation transparently when the payload exceeds the path MTU.

Sourcetype ipv4 = t
Sourcetype t
Sourceval of_string : ipv4 -> string -> t

of_string ipv4 str creates a writer that sends str as the payload.

Sourceval of_strings : ipv4 -> string list -> t

of_strings ipv4 strs creates a writer that sends the concatenation of strs as the payload. This avoids copying the strings into a single buffer.

Sourceval into : ipv4 -> len:int -> (Bstr.t -> unit) -> t

into ipv4 ~len fn creates a writer that fills the payload by calling fn buf, where buf is a buffer of size len positioned after the IPv4 header. This is the zero-copy path for upper-layer protocols (like UDP's UDP.sendfn) that can write directly into the outgoing frame.