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

Refers to one or more segments that have been received as a single message. More...

#include <MCSB/MessageDescriptors.h>

Inheritance diagram for MCSB::RecvMessageDescriptor:
MCSB::MessageDescriptor

Public Member Functions

 RecvMessageDescriptor (const RecvMessageDescriptor &desc)
 Copy with reference counting.
 
RecvMessageDescriptoroperator= (const RecvMessageDescriptor &desc)
 Assignment with reference counting.
 
const void * Buf () const
 Return a pointer to the first/current memory segment in the descriptor.
 
uint32_t MessageID (void) const
 The messageID of the received message referred to by this descriptor.
 
 RecvMessageDescriptor (RecvMsgSegment *s, ClientImpl *c)
 Advanced constructor using the underlying (opaque) types.
 
- Public Member Functions inherited from MCSB::MessageDescriptor
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.
 

Detailed Description

Refers to one or more segments that have been received as a single message.

It uses semantics like std::shared_ptr, using reference counting, and the resources it holds are freed when it goes out of scope.


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