|
| WSSClient (const WSSClient &)=delete |
|
| WSSClient (WSSClient &&)=delete |
|
virtual | ~WSSClient ()=default |
|
WSSClient & | operator= (const WSSClient &)=delete |
|
WSSClient & | operator= (WSSClient &&)=delete |
|
bool | Connect () override |
| Connect the client (synchronous) More...
|
|
bool | Connect (const std::shared_ptr< Asio::TCPResolver > &resolver) override |
|
bool | ConnectAsync () override |
| Connect the client (asynchronous) More...
|
|
bool | ConnectAsync (const std::shared_ptr< Asio::TCPResolver > &resolver) override |
|
virtual bool | Close () |
|
virtual bool | Close (int status) |
|
virtual bool | Close (int status, const void *buffer, size_t size) |
|
virtual bool | Close (int status, std::string_view text) |
|
virtual bool | CloseAsync () |
|
virtual bool | CloseAsync (int status) |
|
virtual bool | CloseAsync (int status, const void *buffer, size_t size) |
|
virtual bool | CloseAsync (int status, std::string_view text) |
|
size_t | SendText (const void *buffer, size_t size) |
|
size_t | SendText (std::string_view text) |
|
size_t | SendText (const void *buffer, size_t size, const CppCommon::Timespan &timeout) |
|
size_t | SendText (std::string_view text, const CppCommon::Timespan &timeout) |
|
bool | SendTextAsync (const void *buffer, size_t size) |
|
bool | SendTextAsync (std::string_view text) |
|
size_t | SendBinary (const void *buffer, size_t size) |
|
size_t | SendBinary (std::string_view text) |
|
size_t | SendBinary (const void *buffer, size_t size, const CppCommon::Timespan &timeout) |
|
size_t | SendBinary (std::string_view text, const CppCommon::Timespan &timeout) |
|
bool | SendBinaryAsync (const void *buffer, size_t size) |
|
bool | SendBinaryAsync (std::string_view text) |
|
size_t | SendClose (int status, const void *buffer, size_t size) |
|
size_t | SendClose (int status, std::string_view text) |
|
size_t | SendClose (int status, const void *buffer, size_t size, const CppCommon::Timespan &timeout) |
|
size_t | SendClose (int status, std::string_view text, const CppCommon::Timespan &timeout) |
|
bool | SendCloseAsync (int status, const void *buffer, size_t size) |
|
bool | SendCloseAsync (int status, std::string_view text) |
|
size_t | SendPing (const void *buffer, size_t size) |
|
size_t | SendPing (std::string_view text) |
|
size_t | SendPing (const void *buffer, size_t size, const CppCommon::Timespan &timeout) |
|
size_t | SendPing (std::string_view text, const CppCommon::Timespan &timeout) |
|
bool | SendPingAsync (const void *buffer, size_t size) |
|
bool | SendPingAsync (std::string_view text) |
|
size_t | SendPong (const void *buffer, size_t size) |
|
size_t | SendPong (std::string_view text) |
|
size_t | SendPong (const void *buffer, size_t size, const CppCommon::Timespan &timeout) |
|
size_t | SendPong (std::string_view text, const CppCommon::Timespan &timeout) |
|
bool | SendPongAsync (const void *buffer, size_t size) |
|
bool | SendPongAsync (std::string_view text) |
|
std::string | ReceiveText () |
|
std::string | ReceiveText (const CppCommon::Timespan &timeout) |
|
std::vector< uint8_t > | ReceiveBinary () |
|
std::vector< uint8_t > | ReceiveBinary (const CppCommon::Timespan &timeout) |
|
| HTTPSClient (const HTTPSClient &)=delete |
|
| HTTPSClient (HTTPSClient &&)=delete |
|
virtual | ~HTTPSClient ()=default |
|
HTTPSClient & | operator= (const HTTPSClient &)=delete |
|
HTTPSClient & | operator= (HTTPSClient &&)=delete |
|
HTTPRequest & | request () noexcept |
| Get the HTTP request. More...
|
|
const HTTPRequest & | request () const noexcept |
|
size_t | SendRequest () |
| Send the current HTTP request (synchronous) More...
|
|
size_t | SendRequest (const HTTPRequest &request) |
| Send the HTTP request (synchronous) More...
|
|
size_t | SendRequestBody (std::string_view body) |
| Send the HTTP request body (synchronous) More...
|
|
size_t | SendRequestBody (const void *buffer, size_t size) |
| Send the HTTP request body (synchronous) More...
|
|
size_t | SendRequest (const CppCommon::Timespan &timeout) |
| Send the current HTTP request with timeout (synchronous) More...
|
|
size_t | SendRequest (const HTTPRequest &request, const CppCommon::Timespan &timeout) |
| Send the HTTP request with timeout (synchronous) More...
|
|
size_t | SendRequestBody (std::string_view body, const CppCommon::Timespan &timeout) |
| Send the HTTP request body with timeout (synchronous) More...
|
|
size_t | SendRequestBody (const void *buffer, size_t size, const CppCommon::Timespan &timeout) |
| Send the HTTP request body with timeout (synchronous) More...
|
|
bool | SendRequestAsync () |
| Send the current HTTP request (asynchronous) More...
|
|
bool | SendRequestAsync (const HTTPRequest &request) |
| Send the HTTP request (asynchronous) More...
|
|
bool | SendRequestBodyAsync (std::string_view body) |
| Send the HTTP request body (asynchronous) More...
|
|
bool | SendRequestBodyAsync (const void *buffer, size_t size) |
| Send the HTTP request body (asynchronous) More...
|
|
| SSLClient (const std::shared_ptr< Service > &service, const std::shared_ptr< SSLContext > &context, const std::string &address, int port) |
| Initialize SSL client with a given Asio service, SSL context, server address and port number. More...
|
|
| SSLClient (const std::shared_ptr< Service > &service, const std::shared_ptr< SSLContext > &context, const std::string &address, const std::string &scheme) |
| Initialize SSL client with a given Asio service, SSL context, server address and scheme name. More...
|
|
| SSLClient (const std::shared_ptr< Service > &service, const std::shared_ptr< SSLContext > &context, const asio::ip::tcp::endpoint &endpoint) |
| Initialize SSL client with a given Asio service, SSL context and endpoint. More...
|
|
| SSLClient (const SSLClient &)=delete |
|
| SSLClient (SSLClient &&client)=delete |
|
virtual | ~SSLClient () |
|
SSLClient & | operator= (const SSLClient &)=delete |
|
SSLClient & | operator= (SSLClient &&client)=delete |
|
const CppCommon::UUID & | id () const noexcept |
| Get the client Id. More...
|
|
std::shared_ptr< Service > & | service () noexcept |
| Get the Asio service. More...
|
|
std::shared_ptr< asio::io_service > & | io_service () noexcept |
| Get the Asio IO service. More...
|
|
asio::io_service::strand & | strand () noexcept |
| Get the Asio service strand for serialized handler execution. More...
|
|
std::shared_ptr< SSLContext > & | context () noexcept |
| Get the client SSL context. More...
|
|
asio::ip::tcp::endpoint & | endpoint () noexcept |
| Get the client endpoint. More...
|
|
asio::ssl::stream< asio::ip::tcp::socket > & | stream () noexcept |
| Get the client SSL stream. More...
|
|
asio::ssl::stream< asio::ip::tcp::socket >::next_layer_type & | socket () noexcept |
| Get the client socket. More...
|
|
const std::string & | address () const noexcept |
| Get the server address. More...
|
|
const std::string & | scheme () const noexcept |
| Get the scheme name. More...
|
|
int | port () const noexcept |
| Get the server port number. More...
|
|
uint64_t | bytes_pending () const noexcept |
| Get the number of bytes pending sent by the client. More...
|
|
uint64_t | bytes_sent () const noexcept |
| Get the number of bytes sent by the client. More...
|
|
uint64_t | bytes_received () const noexcept |
| Get the number of bytes received by the client. More...
|
|
bool | option_keep_alive () const noexcept |
| Get the option: keep alive. More...
|
|
bool | option_no_delay () const noexcept |
| Get the option: no delay. More...
|
|
size_t | option_receive_buffer_limit () const |
| Get the option: receive buffer limit. More...
|
|
size_t | option_receive_buffer_size () const |
| Get the option: receive buffer size. More...
|
|
size_t | option_send_buffer_limit () const |
| Get the option: send buffer limit. More...
|
|
size_t | option_send_buffer_size () const |
| Get the option: send buffer size. More...
|
|
bool | IsConnected () const noexcept |
| Is the client connected? More...
|
|
bool | IsHandshaked () const noexcept |
| Is the session handshaked? More...
|
|
virtual bool | Connect (const std::shared_ptr< TCPResolver > &resolver) |
| Connect the client using the given DNS resolver (synchronous) More...
|
|
virtual bool | Disconnect () |
| Disconnect the client (synchronous) More...
|
|
virtual bool | Reconnect () |
| Reconnect the client (synchronous) More...
|
|
virtual bool | ConnectAsync (const std::shared_ptr< TCPResolver > &resolver) |
| Connect the client using the given DNS resolver (asynchronous) More...
|
|
virtual bool | DisconnectAsync () |
| Disconnect the client (asynchronous) More...
|
|
virtual bool | ReconnectAsync () |
| Reconnect the client (asynchronous) More...
|
|
virtual size_t | Send (const void *buffer, size_t size) |
| Send data to the server (synchronous) More...
|
|
virtual size_t | Send (std::string_view text) |
| Send text to the server (synchronous) More...
|
|
virtual size_t | Send (const void *buffer, size_t size, const CppCommon::Timespan &timeout) |
| Send data to the server with timeout (synchronous) More...
|
|
virtual size_t | Send (std::string_view text, const CppCommon::Timespan &timeout) |
| Send text to the server with timeout (synchronous) More...
|
|
virtual bool | SendAsync (const void *buffer, size_t size) |
| Send data to the server (asynchronous) More...
|
|
virtual bool | SendAsync (std::string_view text) |
| Send text to the server (asynchronous) More...
|
|
virtual size_t | Receive (void *buffer, size_t size) |
| Receive data from the server (synchronous) More...
|
|
virtual std::string | Receive (size_t size) |
| Receive text from the server (synchronous) More...
|
|
virtual size_t | Receive (void *buffer, size_t size, const CppCommon::Timespan &timeout) |
| Receive data from the server with timeout (synchronous) More...
|
|
virtual std::string | Receive (size_t size, const CppCommon::Timespan &timeout) |
| Receive text from the server with timeout (synchronous) More...
|
|
virtual void | ReceiveAsync () |
| Receive data from the server (asynchronous) More...
|
|
void | SetupKeepAlive (bool enable) noexcept |
| Setup option: keep alive. More...
|
|
void | SetupNoDelay (bool enable) noexcept |
| Setup option: no delay. More...
|
|
void | SetupReceiveBufferLimit (size_t limit) |
| Setup option: receive buffer limit. More...
|
|
void | SetupReceiveBufferSize (size_t size) |
| Setup option: receive buffer size. More...
|
|
void | SetupSendBufferLimit (size_t limit) |
| Setup option: send buffer limit. More...
|
|
void | SetupSendBufferSize (size_t size) |
| Setup option: send buffer size. More...
|
|
|
void | onHandshaked () override |
| Handle session handshaked notification. More...
|
|
void | onDisconnected () override |
| Handle client disconnected notification. More...
|
|
void | onReceived (const void *buffer, size_t size) override |
| Handle buffer received notification. More...
|
|
void | onReceivedResponseHeader (const HTTP::HTTPResponse &response) override |
| Handle HTTP response header received notification. More...
|
|
void | onReceivedResponse (const HTTP::HTTPResponse &response) override |
| Handle HTTP response received notification. More...
|
|
void | onReceivedResponseError (const HTTP::HTTPResponse &response, const std::string &error) override |
| Handle HTTP response error notification. More...
|
|
void | onWSClose (const void *buffer, size_t size, int status=1000) override |
| Handle WebSocket close notification. More...
|
|
void | onWSPing (const void *buffer, size_t size) override |
| Handle WebSocket ping notification. More...
|
|
void | onWSError (const std::string &message) override |
| Handle WebSocket error notification. More...
|
|
virtual void | onConnected () |
| Handle client connected notification. More...
|
|
virtual void | onSent (size_t sent, size_t pending) |
| Handle buffer sent notification. More...
|
|
virtual void | onEmpty () |
| Handle empty send buffer notification. More...
|
|
virtual void | onError (int error, const std::string &category, const std::string &message) |
| Handle error notification. More...
|
|
virtual void | onWSConnecting (HTTP::HTTPRequest &request) |
| Handle WebSocket client connecting notification. More...
|
|
virtual void | onWSConnected (const HTTP::HTTPResponse &response) |
| Handle WebSocket client connected notification. More...
|
|
virtual bool | onWSConnecting (const HTTP::HTTPRequest &request, HTTP::HTTPResponse &response) |
| Handle WebSocket server session validating notification. More...
|
|
virtual void | onWSConnected (const HTTP::HTTPRequest &request) |
| Handle WebSocket server session connected notification. More...
|
|
virtual void | onWSDisconnected () |
| Handle WebSocket client disconnected notification. More...
|
|
virtual void | onWSReceived (const void *buffer, size_t size) |
| Handle WebSocket received notification. More...
|
|
virtual void | onWSPong (const void *buffer, size_t size) |
| Handle WebSocket pong notification. More...
|
|
| WebSocket () |
|
| WebSocket (const WebSocket &)=delete |
|
| WebSocket (WebSocket &&)=delete |
|
| ~WebSocket ()=default |
|
WebSocket & | operator= (const WebSocket &)=delete |
|
WebSocket & | operator= (WebSocket &&)=delete |
|
std::string_view | ws_nonce () const noexcept |
| Get the WebSocket random nonce. More...
|
|
bool | PerformClientUpgrade (const HTTP::HTTPResponse &response, const CppCommon::UUID &id) |
| Perform WebSocket client upgrade. More...
|
|
bool | PerformServerUpgrade (const HTTP::HTTPRequest &request, HTTP::HTTPResponse &response) |
| Perform WebSocket server upgrade. More...
|
|
void | PrepareSendFrame (uint8_t opcode, bool mask, const void *buffer, size_t size, int status=0) |
| Prepare WebSocket send frame. More...
|
|
void | PrepareReceiveFrame (const void *buffer, size_t size) |
| Prepare WebSocket receive frame. More...
|
|
size_t | RequiredReceiveFrameSize () |
| Required WebSocket receive frame size. More...
|
|
void | ClearWSBuffers () |
| Clear WebSocket send/receive buffers. More...
|
|
void | InitWSNonce () |
| Initialize WebSocket random nonce. More...
|
|