Module Protocol.Command

Once a connection has been established, the client can submit commands.

type t =
| Read(*

Read a block of data

*)
| Write(*

Write a block of data

*)
| Disc(*

Disconnect: server must flush all outstanding commands and then will close the connection

*)
| Flush(*

A flush request or write barrier. All requests received before this one will have completed before this command is acknowledged.

*)
| Trim(*

A hint that a data region is nolonger required and may be discarded.

*)
| Unknown of int32(*

A command which this protocol implementation doesn't suport.

*)
include Sexplib0.Sexpable.S with type t := t
val t_of_sexp : Sexplib0__.Sexp.t -> t
val sexp_of_t : t -> Sexplib0__.Sexp.t
val to_string : t -> string