Length-prefixed framing layer over a TCP stream socket.
More...
#include <MessageStream.hpp>
|
| | MessageStream (NET_StreamSocket *sock) |
| |
| bool | send (const void *data, Uint32 size) |
| | Send a framed message over the socket.
|
| |
| bool | poll (const std::function< void(const void *data, Uint32 size)> &callback) |
| | Read all available bytes from the socket and invoke the callback once per complete message frame.
|
| |
|
| NET_StreamSocket * | socket = nullptr |
| | Underlying SDL_net stream socket.
|
| |
Length-prefixed framing layer over a TCP stream socket.
Wraps a raw NET_StreamSocket and handles splitting the byte stream into discrete messages. Each message is sent/received with a 4-byte big-endian length header followed by the payload bytes.
◆ MessageStream()
| MessageStream::MessageStream |
( |
NET_StreamSocket * |
sock | ) |
|
|
inline |
◆ poll()
| bool MessageStream::poll |
( |
const std::function< void(const void *data, Uint32 size)> & |
callback | ) |
|
Read all available bytes from the socket and invoke the callback once per complete message frame.
- Parameters
-
| callback | Called with a pointer and length for each complete message. |
- Returns
- False if the socket reports an error.
◆ send()
| bool MessageStream::send |
( |
const void * |
data, |
|
|
Uint32 |
size |
|
) |
| |
Send a framed message over the socket.
- Parameters
-
| data | Pointer to the payload bytes. |
| size | Payload length in bytes. |
- Returns
- False if the send fails.
◆ socket
| NET_StreamSocket* MessageStream::socket = nullptr |
Underlying SDL_net stream socket.
The documentation for this class was generated from the following files: