sig
  exception Failure of string
  type connection
  val open_connection : string -> int -> Memcache.connection Lwt.t
  val close_connection : Memcache.connection -> unit Lwt.t
  type error = ERROR | CLIENT_ERROR of string | SERVER_ERROR of string
  exception Error of Memcache.error
  type reply = STORED | NOT_STORED | EXISTS | NOT_FOUND
  val set :
    Memcache.connection ->
    string ->
    ?flags:int ->
    ?exptime:int -> ?noreply:bool -> string -> Memcache.reply Lwt.t
  val add :
    Memcache.connection ->
    string ->
    ?flags:int ->
    ?exptime:int -> ?noreply:bool -> string -> Memcache.reply Lwt.t
  val replace :
    Memcache.connection ->
    string ->
    ?flags:int ->
    ?exptime:int -> ?noreply:bool -> string -> Memcache.reply Lwt.t
  val append :
    Memcache.connection ->
    string ->
    ?flags:int ->
    ?exptime:int -> ?noreply:bool -> string -> Memcache.reply Lwt.t
  val prepend :
    Memcache.connection ->
    string ->
    ?flags:int ->
    ?exptime:int -> ?noreply:bool -> string -> Memcache.reply Lwt.t
  val cas :
    Memcache.connection ->
    string ->
    ?flags:int ->
    ?exptime:int -> ?noreply:bool -> int64 -> string -> Memcache.reply Lwt.t
  val get :
    Memcache.connection -> string -> (string * (int * string)) option Lwt.t
  val getl :
    Memcache.connection ->
    string list -> (string * (int * string)) list Lwt.t
  val geth :
    Memcache.connection ->
    string list -> (string, int * string) Hashtbl.t Lwt.t
  val gets :
    Memcache.connection ->
    string -> (string * ((int * int64) * string)) option Lwt.t
  val getsl :
    Memcache.connection ->
    string list -> (string * ((int * int64) * string)) list Lwt.t
  val getsh :
    Memcache.connection ->
    string list -> (string, (int * int64) * string) Hashtbl.t Lwt.t
  val delete : Memcache.connection -> ?noreply:bool -> string -> bool Lwt.t
  val incr64 :
    Memcache.connection ->
    string -> ?noreply:bool -> int64 -> int64 option Lwt.t
  val decr64 :
    Memcache.connection ->
    string -> ?noreply:bool -> int64 -> int64 option Lwt.t
  val incr :
    Memcache.connection ->
    string -> ?noreply:bool -> string -> string option Lwt.t
  val decr :
    Memcache.connection ->
    string -> ?noreply:bool -> string -> string option Lwt.t
  val flush_all : ?delay:int -> Memcache.connection -> unit Lwt.t
  val version : Memcache.connection -> string Lwt.t
end