|
RADLib
RADical C++ application framework
|
Classes | |
| struct | Datagram |
| UDP datagram payload plus sender/target endpoint metadata. More... | |
| class | RADSocketReactor |
| Process-wide epoll reactor used by RADNet sockets. More... | |
| class | RADUdpSocket |
| Event-loop integrated UDP socket. More... | |
| class | RADUdpServer |
| Convenience UDP server built on RADUdpSocket. More... | |
| class | RADTcpSocket |
| Non-blocking TCP socket that also implements RADCore::RADIODevice. More... | |
| class | RADTcpServer |
| Non-blocking TCP server that emits accepted sockets. More... | |
| struct | RADHttpResponse |
| HTTP response data returned by RADHttpClient. More... | |
| struct | RADHttpRequest |
| HTTP request options for RADHttpClient::request(). More... | |
| struct | RADDnsResult |
| DNS lookup result. More... | |
| class | RADHttpClient |
| Small libcurl-backed HTTP client with sync and event-loop async APIs. More... | |
| struct | RADTcpFrame |
| Binary TCP protocol frame: u32 messageId, u32 payloadSize, payload. More... | |
| struct | RADProtocolEndpointConfig |
| Runtime endpoint configuration loaded from JSON. More... | |
| class | RADProtocolSocket |
| Protocol socket wrapper that frames RADTcpSocket byte streams. More... | |
| class | RADProtocolClient |
| Framed protocol TCP client. More... | |
| class | RADProtocolServer |
| Framed protocol TCP server. More... | |
Enumerations | |
| enum class | SocketState { Unconnected , Connecting , Connected , Listening , Closed } |
| Common socket state used by RADNet TCP sockets. More... | |
Functions | |
| std::vector< uint8_t > | encodeFrame (const RADTcpFrame &frame) |
| Encodes a RADTcpFrame into wire bytes. More... | |
| bool | decodeFrames (std::vector< uint8_t > &buffer, std::vector< RADTcpFrame > &frames, uint32_t maxPayloadBytes=16 *1024 *1024, std::string *error=nullptr) |
| Attempts to decode all complete frames from buffer, removing consumed bytes. More... | |
| RADProtocolEndpointConfig | endpointConfigFromJson (const RADCore::RADJsonValue &value, const RADProtocolEndpointConfig &defaults={}) |
| Loads endpoint config from a JSON object. More... | |
|
strong |
Common socket state used by RADNet TCP sockets.
| bool RADNet::decodeFrames | ( | std::vector< uint8_t > & | buffer, |
| std::vector< RADTcpFrame > & | frames, | ||
| uint32_t | maxPayloadBytes = 16 *1024 *1024, |
||
| std::string * | error = nullptr |
||
| ) |
Attempts to decode all complete frames from buffer, removing consumed bytes.
| std::vector<uint8_t> RADNet::encodeFrame | ( | const RADTcpFrame & | frame | ) |
Encodes a RADTcpFrame into wire bytes.
| RADProtocolEndpointConfig RADNet::endpointConfigFromJson | ( | const RADCore::RADJsonValue & | value, |
| const RADProtocolEndpointConfig & | defaults = {} |
||
| ) |
Loads endpoint config from a JSON object.