sig
  val encode_one : Buffer.t -> Protocol.msg -> unit
  val encode : Buffer.t -> Protocol.msg list -> unit
  val decode_one : string -> int -> int -> Protocol.msg * int
  val dump : string -> string -> int -> int -> unit
end