sig
module type Elt =
sig
type t
val create : unit -> Ringbuffer.Elt.t
val blit :
Ringbuffer.Elt.t array ->
int -> Ringbuffer.Elt.t array -> int -> int -> unit
end
module type R =
sig
type elt
type buffer = Ringbuffer.R.elt array
type t
val create : int -> Ringbuffer.R.t
val read_space : Ringbuffer.R.t -> int
val write_space : Ringbuffer.R.t -> int
val read_advance : Ringbuffer.R.t -> int -> unit
val write_advance : Ringbuffer.R.t -> int -> unit
val read : Ringbuffer.R.t -> Ringbuffer.R.buffer -> int -> int -> unit
val peek : Ringbuffer.R.t -> Ringbuffer.R.buffer -> int -> int -> unit
val write : Ringbuffer.R.t -> Ringbuffer.R.buffer -> int -> int -> unit
val transmit :
Ringbuffer.R.t -> (Ringbuffer.R.buffer -> int -> int -> int) -> int
end
module Make :
functor (E : Elt) ->
sig
type elt = E.t
type buffer = elt array
type t
val create : int -> t
val read_space : t -> int
val write_space : t -> int
val read_advance : t -> int -> unit
val write_advance : t -> int -> unit
val read : t -> buffer -> int -> int -> unit
val peek : t -> buffer -> int -> int -> unit
val write : t -> buffer -> int -> int -> unit
val transmit : t -> (buffer -> int -> int -> int) -> int
end
module Make_ext :
functor (E : Elt) ->
sig
type elt = E.t
type buffer = elt array
type t
val create : int -> t
val read_space : t -> int
val write_space : t -> int
val read_advance : t -> int -> unit
val write_advance : t -> int -> unit
val read : t -> buffer -> int -> int -> unit
val peek : t -> buffer -> int -> int -> unit
val write : t -> buffer -> int -> int -> unit
val transmit : t -> (buffer -> int -> int -> int) -> int
end
end