Module Amqp_client_lwt.Framing

type channel_no = int
type message =
| Method of Amqp_client_lib.Types.message_id * Amqp_client_lib.Io.Input.t
| Content of Amqp_client_lib.Types.class_id * Amqp_client_lib.Io.Input.t * string
type data = Amqp_client_lib.Io.Input.t
type content_handler = (data * string) -> unit
type method_handler = data -> unit
type close_handler = string -> unit Thread.Deferred.t
type t
val write_message : (t * channel_no) -> (Amqp_client_lib.Types.message_id * (Amqp_client_lib.Io.Output.t -> Amqp_client_lib.Io.Output.t)) -> (Amqp_client_lib.Types.class_id * (Amqp_client_lib.Io.Output.t -> Amqp_client_lib.Io.Output.t) * string) option -> unit Thread.Deferred.t
val send_heartbeat : t -> unit Thread.Deferred.t
val register_method_handler : (t * channel_no) -> Amqp_client_lib.Types.message_id -> method_handler -> unit
val register_content_handler : (t * channel_no) -> Amqp_client_lib.Types.class_id -> content_handler -> unit
val deregister_method_handler : (t * channel_no) -> Amqp_client_lib.Types.message_id -> unit
val deregister_content_handler : (t * channel_no) -> Amqp_client_lib.Types.class_id -> unit
val set_flow : t -> channel_no -> bool -> unit
val set_flow_all : t -> bool -> unit
val open_channel : t -> channel_no -> unit Thread.Deferred.t
val close_channel : t -> channel_no -> unit Thread.Deferred.t
val flush_channel : t -> channel_no -> unit Thread.Deferred.t
val flush : t -> unit Thread.Deferred.t
val id : t -> string
val init : id:string -> Thread.Reader.t -> Thread.Writer.t -> t
val start : t -> close_handler -> unit Thread.Deferred.t
val close : t -> unit Thread.Deferred.t
val set_max_length : t -> int -> unit