randolf.ca
1.00
Randolf Richardson's C++ classes
|
This structure contains a Block Allocation Map (BAM) of the positions and lengths of data blocks in ring buffer memory. This is part of an advanced feature that's specifically useful for direct memory access to the ring buffer's memory (access operations will likely need to be split into two operations when the buffer straddles the ring buffer's memory boundary, which benefits performance by making direct read/write operations with file and socket I/O, but for most applications it's better to use the other methods provided in the randolf::rring class since this is what they were designed for). More...
#include <rring_bam>
Public Attributes | |
void * | avail1 |
Pointer to first portion of available buffer memory. | |
size_t | avail1_size |
Number of elements in avail1. | |
void * | avail2 |
Pointer to second portion of available buffer memory, if this part of the ring buffer straddles the boundary, otherwise nullptr will be specified. | |
size_t | avail2_size |
Number of elements in avail2. | |
void * | block1 |
Pointer to first portion of utilized buffer memory. | |
size_t | block1_size |
Number of elements in block1. | |
void * | block2 |
Pointer to second portion of utilized buffer memory, if this part of the ring buffer straddles the boundary, otherwise nullptr will be specified. | |
size_t | block2_size |
Number of elements in block2. | |
This structure contains a Block Allocation Map (BAM) of the positions and lengths of data blocks in ring buffer memory. This is part of an advanced feature that's specifically useful for direct memory access to the ring buffer's memory (access operations will likely need to be split into two operations when the buffer straddles the ring buffer's memory boundary, which benefits performance by making direct read/write operations with file and socket I/O, but for most applications it's better to use the other methods provided in the randolf::rring class since this is what they were designed for).
void* randolf::rring_bam::block1 |
Pointer to first portion of utilized buffer memory.
void* randolf::rring_bam::block2 |
Pointer to second portion of utilized buffer memory, if this part of the ring buffer straddles the boundary, otherwise nullptr
will be specified.
void* randolf::rring_bam::avail1 |
Pointer to first portion of available buffer memory.
void* randolf::rring_bam::avail2 |
Pointer to second portion of available buffer memory, if this part of the ring buffer straddles the boundary, otherwise nullptr
will be specified.
size_t randolf::rring_bam::block1_size |
Number of elements in block1.
size_t randolf::rring_bam::block2_size |
Number of elements in block2.
size_t randolf::rring_bam::avail1_size |
Number of elements in avail1.
size_t randolf::rring_bam::avail2_size |
Number of elements in avail2.