MAK RTIspy API Documentation for HLA Evolved
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions
DtMsgSocket Class Referenceabstract

The DtMsgSocket provides a wrapper around the MAKRti::DtInetSocket class to operate on messages rather than just raw data. More...

+ Inheritance diagram for DtMsgSocket:
+ Collaboration diagram for DtMsgSocket:

Public Member Functions

 DtMsgSocket (std::shared_ptr< DtMsgHeaderReader > hdrReader, size_t recvBuffSize)
 Constructor. More...
 
 DtMsgSocket (DtUniquePtr< MAKRti::DtInetSocket > socket, std::shared_ptr< DtMsgHeaderReader > hdrReader, size_t recvBuffSize)
 Constructor which takes a pre-created MAKRti::DtInetSocket pointer. More...
 
virtual ~DtMsgSocket ()
 Destructor. More...
 
virtual int sendMessage (caddr_t msg, size_t msgSize, bool deleteAfterSend, const MAKRti::DtInetAddr &destAddr=MAKRti::DtInetAddr::inaddrAny(), int port=0)=0
 Sends a message. More...
 
virtual bool flush ()=0
 Attempts to send any queued messages and bundled messages. More...
 
virtual int recvMessage (caddr_t *buffptr)=0
 Gets the next message from the incoming data. More...
 
virtual int recvMessageWithSrc (caddr_t *buffptr, MAKRti::DtInetEndpoint &src)=0
 Gets the next message from the stream of incoming data and sets the source of the message. More...
 
virtual bool closeSocket ()
 Close a socket. Returns true on successful close or false on failure. More...
 
virtual MAKRti::DtInetSockState state () const
 Returns the state of the socket. More...
 
void printStateToStream (MAKRti::DtOutputStream &stream) const
 prints state to stream More...
 
const MAKRti::DtString & lastError () const
 Returns a description of the last error. More...
 
virtual void enableBundling (size_t maxBundleSize)=0
 Enables message bundling and sets the maximum bundle size. More...
 
virtual void disableBundling ()=0
 Disables message bundling. More...
 
virtual void enableCompression (MAKRti::DtU8 compressionLevel)=0
 Enables message compression and sets the compression level. More...
 
virtual void disableCompression ()=0
 Disables message compression. More...
 
const MAKRti::DtInetEndpoint & localEndpoint () const
 Gets the local endpoint for the socket. More...
 
void setSendBufferSize (MAKRti::DtU32 size)
 Sets the socket send buffer size. More...
 
void setRecvBufferSize (MAKRti::DtU32 size)
 Sets the socket receive buffer size. More...
 
MAKRti::DtU32 maxSendMsgSize () const
 Gets the maximum socket send size. More...
 
unsigned int descriptor () const
 Get's the socket file descriptor. More...
 
MAKRti::DtInetSocket * inetSocket ()
 Returns a pointer to the MAKRti::DtInetSocket. More...
 

Protected Member Functions

void expandRecvBuffer (size_t sizeNeeded)
 Expands the receive buffer to accommodate the given size message. More...
 

Protected Attributes

DtUniquePtr< MAKRti::DtInetSocket > mySocket
 The socket. More...
 
MAKRti::DtInetBuffer myRecvBuffer
 The buffer to store received data in. More...
 
MAKRti::DtString myLastError
 Description of last error. More...
 
std::shared_ptr
< DtMsgHeaderReader
myHeaderReader
 Reads data from message header. More...
 

Private Member Functions

 DtMsgSocket (const DtMsgSocket &)
 Not copyable. More...
 
DtMsgSocketoperator= (const DtMsgSocket &)
 

Detailed Description

The DtMsgSocket provides a wrapper around the MAKRti::DtInetSocket class to operate on messages rather than just raw data.

Constructor & Destructor Documentation

DtMsgSocket::DtMsgSocket ( std::shared_ptr< DtMsgHeaderReader hdrReader,
size_t  recvBuffSize 
)

Constructor.

Requires a header reader to extract information from message headers.

DtMsgSocket::DtMsgSocket ( DtUniquePtr< MAKRti::DtInetSocket >  socket,
std::shared_ptr< DtMsgHeaderReader hdrReader,
size_t  recvBuffSize 
)

Constructor which takes a pre-created MAKRti::DtInetSocket pointer.

Gives ownership and responsibility of the socket to the DtMsgSocket object.

virtual DtMsgSocket::~DtMsgSocket ( )
virtual

Destructor.

DtMsgSocket::DtMsgSocket ( const DtMsgSocket )
private

Not copyable.

Member Function Documentation

virtual bool DtMsgSocket::closeSocket ( )
virtual

Close a socket. Returns true on successful close or false on failure.

unsigned int DtMsgSocket::descriptor ( ) const
inline

Get's the socket file descriptor.

virtual void DtMsgSocket::disableBundling ( )
pure virtual

Disables message bundling.

Implemented in DtTcpMsgSocket, DtSmSocket__rti__, and DtUdpMsgSocket.

virtual void DtMsgSocket::disableCompression ( )
pure virtual

Disables message compression.

Implemented in DtTcpMsgSocket, DtSmSocket__rti__, and DtUdpMsgSocket.

virtual void DtMsgSocket::enableBundling ( size_t  maxBundleSize)
pure virtual

Enables message bundling and sets the maximum bundle size.

Implemented in DtTcpMsgSocket, DtSmSocket__rti__, and DtUdpMsgSocket.

virtual void DtMsgSocket::enableCompression ( MAKRti::DtU8  compressionLevel)
pure virtual

Enables message compression and sets the compression level.

Implemented in DtTcpMsgSocket, and DtUdpMsgSocket.

void DtMsgSocket::expandRecvBuffer ( size_t  sizeNeeded)
inlineprotected

Expands the receive buffer to accommodate the given size message.

References myRecvBuffer.

virtual bool DtMsgSocket::flush ( )
pure virtual

Attempts to send any queued messages and bundled messages.

Returns true if all queued and bundled messages were sent.

Implemented in DtTcpMsgSocket, DtSmSocket__rti__, and DtUdpMsgSocket.

MAKRti::DtInetSocket * DtMsgSocket::inetSocket ( )
inline

Returns a pointer to the MAKRti::DtInetSocket.

References mySocket.

const MAKRti::DtString & DtMsgSocket::lastError ( ) const
inline

Returns a description of the last error.

References myLastError.

Referenced by printStateToStream().

const MAKRti::DtInetEndpoint& DtMsgSocket::localEndpoint ( ) const
inline

Gets the local endpoint for the socket.

MAKRti::DtU32 DtMsgSocket::maxSendMsgSize ( ) const
inline

Gets the maximum socket send size.

DtMsgSocket& DtMsgSocket::operator= ( const DtMsgSocket )
private
void DtMsgSocket::printStateToStream ( MAKRti::DtOutputStream &  stream) const
inline

prints state to stream

References lastError(), and state().

virtual int DtMsgSocket::recvMessage ( caddr_t *  buffptr)
pure virtual

Gets the next message from the incoming data.

Implemented in DtTcpMsgSocket, and DtUdpMsgSocket.

virtual int DtMsgSocket::recvMessageWithSrc ( caddr_t *  buffptr,
MAKRti::DtInetEndpoint &  src 
)
pure virtual

Gets the next message from the stream of incoming data and sets the source of the message.

Implemented in DtTcpMsgSocket, and DtUdpMsgSocket.

virtual int DtMsgSocket::sendMessage ( caddr_t  msg,
size_t  msgSize,
bool  deleteAfterSend,
const MAKRti::DtInetAddr &  destAddr = MAKRti::DtInetAddr::inaddrAny(),
int  port = 0 
)
pure virtual

Sends a message.

Implemented in DtTcpMsgSocket, and DtUdpMsgSocket.

void DtMsgSocket::setRecvBufferSize ( MAKRti::DtU32  size)
inline

Sets the socket receive buffer size.

void DtMsgSocket::setSendBufferSize ( MAKRti::DtU32  size)
inline

Sets the socket send buffer size.

MAKRti::DtInetSockState DtMsgSocket::state ( ) const
inlinevirtual

Returns the state of the socket.

References mySocket.

Referenced by printStateToStream().

Member Data Documentation

std::shared_ptr<DtMsgHeaderReader> DtMsgSocket::myHeaderReader
protected

Reads data from message header.

MAKRti::DtString DtMsgSocket::myLastError
protected

Description of last error.

Referenced by lastError().

MAKRti::DtInetBuffer DtMsgSocket::myRecvBuffer
protected

The buffer to store received data in.

Referenced by expandRecvBuffer().

DtUniquePtr<MAKRti::DtInetSocket> DtMsgSocket::mySocket
protected

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

Document ID: Generated on Sun Jul 20 16:15:30 EDT 2025 from SVN revision 277985
Copyright © 2005-2025 MAK Technologies Inc. All Rights Reserved (www.mak.com)