module type R =sig..end
Signature for ringbuffer modules.
type elt
Type of elements contained in the ringbuffer.
typebuffer =elt array
A buffer of elements.
type t
A ringbuffer.
val create : int -> tCreate a ringbuffer of given size.
val read_space : t -> intSize of data available for reading.
val write_space : t -> intSize of space available for writing.
val read_advance : t -> int -> unitDrop data.
val write_advance : t -> int -> unitAdvance the write pointer.
val read : t -> buffer -> int -> int -> unitRead data.
val peek : t -> buffer -> int -> int -> unitSame as read but does not advance the read pointer.
val write : t -> buffer -> int -> int -> unitWrite data.
val transmit : t -> (buffer -> int -> int -> int) -> intRead all the data in the ringbuffer.