Describes either a memory location or a view of an associated location.
This module stores byte buffers in queues using sequences of entries. The first entry holds an address, and subsequent entries hold the offset and lengths of ever-narrower views of that data. This provides a compact representation of data encoded using nested or layered protocols.
For example, in a TCP/IP stack:
- The first entry hold addresses to Ethernet frames.
- The second entry holds a zero offset and the whole frame length.
- The third entry holds the offset and length describing the IP data.
- The fourth entry holds the offset and length describing the TCP data.
|
|
static constexpr size_type | memory_context_index (size_type chunk, size_type entries_per_chunk) |
| | Returns the index to the data entry of a given chunk.
|
| |
|
static constexpr size_type | data_index (size_type chunk, size_type entries_per_chunk) |
| | Returns the index to the data entry of a given chunk.
|
| |
|
static constexpr size_type | base_view_index (size_type chunk, size_type entries_per_chunk) |
| | Returns the index to the base view entry of a given chunk.
|
| |
|
static constexpr size_type | view_index (size_type chunk, size_type entries_per_chunk, size_type layer) |
| | Returns the index to a view entry of a given chunk.
|
| |
|
static constexpr size_type | top_view_index (size_type chunk, size_type entries_per_chunk) |
| | Returns the index to the top view entry of a given chunk.
|
| |