|
MCSB
2.0.0
High-throughput shared memory middleware
|
Refers to one or more segments that will be used to send a single message. More...
#include <MCSB/MessageDescriptors.h>
Public Member Functions | |
| SendMessageDescriptor (SendMessageDescriptor &desc) | |
| Construct, taking ownership from another SendMessageDescriptor. | |
| SendMessageDescriptor & | operator= (SendMessageDescriptor &desc) |
| Assign, taking ownership from another SendMessageDescriptor. | |
| SendMsgSegment * | Release (void) |
| void | Reset (SendMsgSegment *s=0, ClientImpl *c=0) |
| void * | Buf (void) const |
| Return a pointer to the first/current memory segment in the descriptor. | |
| void | Fill (uint8_t val=0) |
| Fill the descriptor with specified value (memset). | |
| int | SendMessage (uint32_t msgID, uint32_t len) |
| Send the contents of this descriptor as a message via the issuing client. | |
| operator SendMessageDescriptorRef () | |
| Helper to allow automatic conversions for assignment operator. | |
| SendMessageDescriptor (SendMessageDescriptorRef ref) | |
| Helper to allow automatic conversions for assignment operator. | |
| SendMessageDescriptor & | operator= (SendMessageDescriptorRef ref) |
| Helper to allow automatic conversions for assignment operator. | |
Refers to one or more segments that will be used to send a single message.
It uses semantics like std::auto_ptr, taking ownership upon assignment. The Reset/Release API closely follows auto_ptr. Like auto_ptr, SendMessageDescriptors can't be stored in an STL container. We would prefer unique_ptr<> semantics, but that requires C++11 (which may happen soon).
| SendMsgSegment* MCSB::SendMessageDescriptor::Release | ( | void | ) |
Release a SendMsgSegment from a SendMessageDescriptor. (A SendMsgSegment can be put in an STL container, but smart/auto_ptr semantics are then lost).
| void MCSB::SendMessageDescriptor::Reset | ( | SendMsgSegment * | s = 0, |
| ClientImpl * | c = 0 |
||
| ) |
Reset, optionally filling with the underlying (opaque) types. (A SendMsgSegment can be put back into a SendMessageDescriptor).
1.8.5