sig
  type t
  val create : Tcp.socket -> Socket.t
  val send : Socket.t -> string -> unit
  val queue : Socket.t -> string -> unit
  val flush : Socket.t -> unit
  val recv : Socket.t -> string list
  val force_recv : Socket.t -> string
  val destroy : Socket.t -> unit
end