MmappedBuffer

A circular buffer which avoids moving data around, but instead maps the same physical memory block twice into two adjacent virtual memory blocks. It $(U does) move data blocks when growing the buffer.

Destructor

A destructor is present on this object, but not explicitly documented in the source.

Members

Functions

alloc
T[] alloc(size_t n)

Allocates space for at least n new objects of type T to be written to the buffer.

commit
void commit(size_t n)

Adds first n objects of type T stored in the slice previously obtained using alloc. Does not touch the remaining part of that slice.

consume
void consume(size_t n)

Removes first n objects of type T from the buffer.

peek
const(T)[] peek()

Returns a read-only slice, typed as const(T)[], containing all data currently available in the buffer.

Meta