The DtMsgSocket provides a wrapper around the DtInetSocket class to operate on messages rather than just raw data.
More...
Public Member Functions |
| | DtMsgSocket (DtBoost::shared_ptr< DtMsgHeaderReader > hdrReader, size_t recvBuffSize) |
| | Constructor.
|
| | DtMsgSocket (std::auto_ptr< DtInetSocket > socket, DtBoost::shared_ptr< DtMsgHeaderReader > hdrReader, size_t recvBuffSize) |
| | Constructor which takes a pre-created DtInetSocket pointer.
|
| virtual | ~DtMsgSocket () |
| | Destructor.
|
| virtual int | sendMessage (caddr_t msg, size_t msgSize, bool deleteAfterSend, const DtInetAddr &destAddr=DtInetAddr::inaddrAny(), int port=0)=0 |
| | Sends a message.
|
| virtual bool | flush ()=0 |
| | Attempts to send any queued messages and bundled messages.
|
| virtual int | recvMessage (caddr_t *buffptr)=0 |
| | Gets the next message from the incoming data.
|
| virtual int | recvMessageWithSrc (caddr_t *buffptr, DtInetEndpoint &src)=0 |
| | Gets the next message from the stream of incoming data and sets the source of the message.
|
| virtual bool | closeSocket () |
| | Close a socket. Returns true on successful close or false on failure.
|
| virtual DtInetSockState | state () const |
| | Returns the state of the socket.
|
| void | printStateToStream (MAKRti::DtOutputStream &stream) const |
| | prints state to stream
|
| const DtString & | lastError () const |
| | Returns a description of the last error.
|
| virtual void | enableBundling (size_t maxBundleSize)=0 |
| | Enables message bundling and sets the maximum bundle size.
|
| virtual void | disableBundling ()=0 |
| | Disables message bundling.
|
| virtual void | enableCompression (DtU8 compressionLevel)=0 |
| | Enables message compression and sets the compression level.
|
| virtual void | disableCompression ()=0 |
| | Disables message compression.
|
| const DtInetEndpoint & | localEndpoint () const |
| | Gets the local endpoint for the socket.
|
| void | setSendBufferSize (DtU32 size) |
| | Sets the socket send buffer size.
|
| void | setRecvBufferSize (DtU32 size) |
| | Sets the socket receive buffer size.
|
| DtU32 | maxSendMsgSize () const |
| | Gets the maximum socket send size.
|
| unsigned int | descriptor () const |
| | Get's the socket file descriptor.
|
| DtInetSocket * | inetSocket () |
| | Returns a pointer to the DtInetSocket.
|
Protected Member Functions |
| void | expandRecvBuffer (size_t sizeNeeded) |
| | Expands the receive buffer to accommodate the given size message.
|
Detailed Description
The DtMsgSocket provides a wrapper around the DtInetSocket class to operate on messages rather than just raw data.
Constructor & Destructor Documentation
| DtMsgSocket::DtMsgSocket |
( |
DtBoost::shared_ptr< DtMsgHeaderReader > |
hdrReader, |
|
|
size_t |
recvBuffSize |
|
) |
| |
Constructor.
Requires a header reader to extract information from message headers.
| DtMsgSocket::DtMsgSocket |
( |
std::auto_ptr< DtInetSocket > |
socket, |
|
|
DtBoost::shared_ptr< DtMsgHeaderReader > |
hdrReader, |
|
|
size_t |
recvBuffSize |
|
) |
| |
Constructor which takes a pre-created DtInetSocket pointer.
Gives ownership and responsibility of the socket to the DtMsgSocket object.
| virtual DtMsgSocket::~DtMsgSocket |
( |
| ) |
|
|
virtual |
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 |
| virtual void DtMsgSocket::disableCompression |
( |
| ) |
|
|
pure virtual |
| virtual void DtMsgSocket::enableBundling |
( |
size_t |
maxBundleSize | ) |
|
|
pure virtual |
| virtual void DtMsgSocket::enableCompression |
( |
DtU8 |
compressionLevel | ) |
|
|
pure virtual |
| void DtMsgSocket::expandRecvBuffer |
( |
size_t |
sizeNeeded | ) |
|
|
inlineprotected |
Expands the receive buffer to accommodate the given size message.
| virtual bool DtMsgSocket::flush |
( |
| ) |
|
|
pure virtual |
| DtInetSocket * DtMsgSocket::inetSocket |
( |
| ) |
|
|
inline |
Returns a pointer to the DtInetSocket.
| const DtString & DtMsgSocket::lastError |
( |
| ) |
const |
|
inline |
Returns a description of the last error.
| const DtInetEndpoint& DtMsgSocket::localEndpoint |
( |
| ) |
const |
|
inline |
Gets the local endpoint for the socket.
| DtU32 DtMsgSocket::maxSendMsgSize |
( |
| ) |
const |
|
inline |
Gets the maximum socket send size.
| void DtMsgSocket::printStateToStream |
( |
MAKRti::DtOutputStream & |
stream | ) |
const |
|
inline |
| virtual int DtMsgSocket::recvMessage |
( |
caddr_t * |
buffptr | ) |
|
|
pure virtual |
| virtual int DtMsgSocket::recvMessageWithSrc |
( |
caddr_t * |
buffptr, |
|
|
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 DtInetAddr & |
destAddr = DtInetAddr::inaddrAny(), |
|
|
int |
port = 0 |
|
) |
| |
|
pure virtual |
| void DtMsgSocket::setRecvBufferSize |
( |
DtU32 |
size | ) |
|
|
inline |
Sets the socket receive buffer size.
| void DtMsgSocket::setSendBufferSize |
( |
DtU32 |
size | ) |
|
|
inline |
Sets the socket send buffer size.
| DtInetSockState DtMsgSocket::state |
( |
| ) |
const |
|
inlinevirtual |
Member Data Documentation
Reads data from message header.
| DtString DtMsgSocket::myLastError |
|
protected |
Description of last error.
| DtInetBuffer DtMsgSocket::myRecvBuffer |
|
protected |
The buffer to store received data in.
| std::auto_ptr<MAKRti::DtInetSocket> DtMsgSocket::mySocket |
|
protected |
The documentation for this class was generated from the following file: