package shared-memory-ring

  1. Overview
  2. Docs

A stream of readable items

include STREAM
type stream = Cstruct.t
type position = int32

A stream remains at a fixed position so that repeated calls to read or write process the same data. To advance the stream call advance new_position

val advance : stream -> position -> unit

advanced stream position declares that we have processed all data up to position and therefore any buffers may be recycled.

val read : stream -> position * Cstruct.t

read stream returns the data at the current stream position. Note this function does not advance the stream, so repeated calls should return the same data. To advance the stream, call advance position.