package octez-libs
- Overview
- No Docs
You can search for identifiers within the package.
in-package search v0.2.0
Install
dune-project
Dependency
Authors
Maintainers
Sources
sha256=aa2f5bc99cc4ca2217c52a1af2a2cdfd3b383208cb859ca2e79ca0903396ca1d
sha512=d68bb3eb615e3dcccc845fddfc9901c95b3c6dc8e105e39522ce97637b1308a7fa7aa1d271351d5933febd7476b2819e1694f31198f1f0919681f1f9cc97cb3a
doc/octez-libs.stdlib/Tezos_stdlib/Circular_buffer/index.html
Module Tezos_stdlib.Circular_bufferSource
This module implements a bufferisation abstraction to store temporary raw data chunks (as bytes) when chunks are read sequentially. The function write allows to store chunks in the buffer and the function read to read them from the buffer.
The global contract is that if we write consecutively d1;d2 onto the buffer, then we have to fully read d1 and d2, in that order.
This contract is not enforced by the library, it is the user responsibility to respect it.
If the circular buffer is full, a new temporary buffer is allocated to store the chunk of data to be written.
Type of circular buffers
An abstraction over a chunk of data written in the buffer.
create ?maxlength ?fresh_buf_size () creates a buffer of size maxlength (by default 32 kb). If the buffer is full, a buffer of size fresh_buf_size is allocated (by default 2 kb).
val write :
maxlen:int ->
fill_using:(Bytes.t -> int -> int -> (int, 'error) result Lwt.t) ->
t ->
(data, 'error) result Lwt.twrite ~maxlen ~fill_using buffer calls fill_using buf offset maxlen where buf is a buffer that has room for maxlen data starting from offset.
Assumes that fill_using returns the exact amount of written bytes.
Behaviour is unspecified if fill_using writes more than maxlen data or lies on the number of written bytes.
It returns a data descriptor for the supposedly written chunk.
read data ~len ~into:buf buffer ~offset copies len data from the data chunk into buf. If len is not provided, it copies all the data. If len is less than the amount of data available, it returns a new handler of the remainder.
- Assumes that
datahas been produced by awriteattempt inbuffer. - Assumes that
lenis less thanlength data.