18 #include <vlutil/vlMachineTypes.h>
19 #include <vlutil/vlSmartPointers.h>
32 DtMsgBundler(std::shared_ptr<DtMsgHeaderReader> hdrReader,
size_t maxBundleSize = 0,
size_t byteAlignment = 0);
39 virtual bool addToBundle(
char* msg,
size_t msgSize);
44 virtual bool getBundle(
char** bundlePtr,
size_t& bundleSize);
47 virtual bool isBundled(
const char* bufferPtr,
size_t size)
const;
52 virtual bool unbundle(
char* bufferPtr,
size_t size);
55 virtual bool isEmpty();
59 virtual bool recvNextMsgFromBundle(
char** msgPtr,
size_t& msgSize);
63 virtual size_t maxSendBundleSize()
const;
64 virtual void setMaxSendBundleSize(
size_t maxSize);
size_t myNewSendBuffSize
The new size for the send buffer.
Definition: msgBundler.h:84
size_t myMsgAddrByteAlignment
The message address byte alignment.
Definition: msgBundler.h:90
std::shared_ptr< DtMsgHeaderReader > myHeaderReader
Reads data from message header.
Definition: msgBundler.h:87
std::vector< char > mySendBundlingBuff
The buffer for storing messages in the current outgoing bundle.
Definition: msgBundler.h:69
The DtMsgBundler class provides a means for bundling and unbundling messages.
Definition: msgBundler.h:27
char * myNextRecvMsg
The location of the next message in the received bundle.
Definition: msgBundler.h:78
bool myResizeSendBuff
Whether the maximum send bundle must be resized next time it is emptied.
Definition: msgBundler.h:81
size_t myRemainingRecvBundleSize
The remaining size of the current received bundle.
Definition: msgBundler.h:75
#define DT_DLL_RTIUTIL
Definition: rtiMsConfig.h:160
size_t myCurrSendBundleSize
The size of the current outgoing bundle.
Definition: msgBundler.h:72