|
MCSB
2.0.0
High-throughput shared memory middleware
|
MessageDescriptor is a base class, not for direct use. More...
#include <MCSB/MessageDescriptors.h>
Public Member Functions | |
| bool | Valid (void) const |
| Does this descriptor refer to a valid memory region? | |
| bool | Contiguous (void) const |
| Does this descriptor refer to a single, contiguous region? (vs a multi-segment message). | |
| unsigned | NumSegments (void) const |
| To how many segments does this descriptor refer? | |
| uint32_t | TotalSize (void) const |
| Size (in bytes) of the whole descriptor (summing possible multiple segments). | |
| int | GetIovec (struct iovec iov[], int iovcnt) const |
| Get a standard iovec of pointers and length of the segments. More... | |
| uint32_t | Size (void) const |
| Size (in bytes) of the first/current segment in the descriptor. | |
| uint32_t | BlockID (void) const |
| blockID of the first/current segment in the descriptor. | |
| MessageSegment * | Seg (void) const |
| pointer to the first/current (opaque) MessageSegment in the descriptor. | |
| ClientImpl * | CImpl (void) const |
| pointer to this descriptor's issuing (opaque) ClientImpl. | |
Friends | |
| class | SendMessageDescriptorRef |
| class | SendMessageDescriptor |
| class | RecvMessageDescriptor |
MessageDescriptor is a base class, not for direct use.
A message consists of one or more segments, where a segment is a contiguous set of blocks within a single slab. A MessageDescriptor points to a linked list of segments.
| int MCSB::MessageDescriptor::GetIovec | ( | struct iovec | iov[], |
| int | iovcnt | ||
| ) | const |
Get a standard iovec of pointers and length of the segments.
If iovcnt is too small, return -iovcnt_needed.
1.8.5