MCSB  2.0.0
High-throughput shared memory middleware
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros
Public Member Functions | Friends | List of all members
MCSB::MessageDescriptor Class Reference

MessageDescriptor is a base class, not for direct use. More...

#include <MCSB/MessageDescriptors.h>

Inheritance diagram for MCSB::MessageDescriptor:
MCSB::RecvMessageDescriptor MCSB::SendMessageDescriptor MCSB::SendMessageDescriptorRef

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
 

Detailed Description

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.

See Also
SendMessageDescriptor
RecvMessageDescriptor

Member Function Documentation

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.


The documentation for this class was generated from the following file: