open Char (* constants *) let msg_kexinit = chr 20 (* Mutable data structure representing a message *) module Message = struct type t = Bytes.t * int ref let empty () : t = (Bytes.create 40, ref 0) let off (m : t) : int = let (_, len) = m in !len let add_byte (m : t) (c : char) : unit = let (bytes, len) = m in Bytes.set bytes !len c; len := !len + 1; end