18 lines
381 B
OCaml
18 lines
381 B
OCaml
|
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
|