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.5.tbz
sha256=ebc621ad01b33a7f96fd049e71bbd06ef95c1a6b36d4072fd15fd35c1a93dc17
sha512=8d47f9434bc6472703f55f819bea21a7deb12095d925f0f8fbb8b96b799473b62a8b302966f579792354aa256b9109dcc16851f5cf951002d35a7d70bca59135

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.