|
| | WSSSession (const std::shared_ptr< WSSServer > &server) |
| |
| | WSSSession (const WSSSession &)=delete |
| |
| | WSSSession (WSSSession &&)=delete |
| |
| virtual | ~WSSSession ()=default |
| |
| WSSSession & | operator= (const WSSSession &)=delete |
| |
| WSSSession & | operator= (WSSSession &&)=delete |
| |
| 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) |
| |
| 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) |
| |
| | HTTPSSession (const std::shared_ptr< HTTPSServer > &server) |
| |
| | HTTPSSession (const HTTPSSession &)=delete |
| |
| | HTTPSSession (HTTPSSession &&)=delete |
| |
| virtual | ~HTTPSSession ()=default |
| |
| HTTPSSession & | operator= (const HTTPSSession &)=delete |
| |
| HTTPSSession & | operator= (HTTPSSession &&)=delete |
| |
| CppCommon::FileCache & | cache () noexcept |
| | Get the static content cache.
|
| |
| const CppCommon::FileCache & | cache () const noexcept |
| |
| HTTPResponse & | response () noexcept |
| | Get the HTTP response.
|
| |
| const HTTPResponse & | response () const noexcept |
| |
| size_t | SendResponse () |
| | Send the current HTTP response (synchronous)
|
| |
| size_t | SendResponse (const HTTPResponse &response) |
| | Send the HTTP response (synchronous)
|
| |
| size_t | SendResponseBody (std::string_view body) |
| | Send the HTTP response body (synchronous)
|
| |
| size_t | SendResponseBody (const void *buffer, size_t size) |
| | Send the HTTP response body (synchronous)
|
| |
| size_t | SendResponse (const CppCommon::Timespan &timeout) |
| | Send the current HTTP response with timeout (synchronous)
|
| |
| size_t | SendResponse (const HTTPResponse &response, const CppCommon::Timespan &timeout) |
| | Send the HTTP response with timeout (synchronous)
|
| |
| size_t | SendResponseBody (std::string_view body, const CppCommon::Timespan &timeout) |
| | Send the HTTP response body with timeout (synchronous)
|
| |
| size_t | SendResponseBody (const void *buffer, size_t size, const CppCommon::Timespan &timeout) |
| | Send the HTTP response body with timeout (synchronous)
|
| |
| bool | SendResponseAsync () |
| | Send the current HTTP response (asynchronous)
|
| |
| bool | SendResponseAsync (const HTTPResponse &response) |
| | Send the HTTP response (asynchronous)
|
| |
| bool | SendResponseBodyAsync (std::string_view body) |
| | Send the HTTP response body (asynchronous)
|
| |
| bool | SendResponseBodyAsync (const void *buffer, size_t size) |
| | Send the HTTP response body (asynchronous)
|
| |
| | SSLSession (const std::shared_ptr< SSLServer > &server) |
| | Initialize the session with a given server.
|
| |
| | SSLSession (const SSLSession &)=delete |
| |
| | SSLSession (SSLSession &&)=delete |
| |
| virtual | ~SSLSession ()=default |
| |
| SSLSession & | operator= (const SSLSession &)=delete |
| |
| SSLSession & | operator= (SSLSession &&)=delete |
| |
| const CppCommon::UUID & | id () const noexcept |
| | Get the session Id.
|
| |
| std::shared_ptr< SSLServer > & | server () noexcept |
| | Get the server.
|
| |
| std::shared_ptr< asio::io_service > & | io_service () noexcept |
| | Get the Asio IO service.
|
| |
| asio::io_service::strand & | strand () noexcept |
| | Get the Asio service strand for serialized handler execution.
|
| |
| asio::ssl::stream< asio::ip::tcp::socket > & | stream () noexcept |
| | Get the session SSL stream.
|
| |
| asio::ssl::stream< asio::ip::tcp::socket >::next_layer_type & | socket () noexcept |
| | Get the session socket.
|
| |
| uint64_t | bytes_pending () const noexcept |
| | Get the number of bytes pending sent by the session.
|
| |
| uint64_t | bytes_sent () const noexcept |
| | Get the number of bytes sent by the session.
|
| |
| uint64_t | bytes_received () const noexcept |
| | Get the number of bytes received by the session.
|
| |
| size_t | option_receive_buffer_limit () const noexcept |
| | Get the option: receive buffer limit.
|
| |
| size_t | option_receive_buffer_size () const |
| | Get the option: receive buffer size.
|
| |
| size_t | option_send_buffer_limit () const noexcept |
| | Get the option: send buffer limit.
|
| |
| size_t | option_send_buffer_size () const |
| | Get the option: send buffer size.
|
| |
| bool | IsConnected () const noexcept |
| | Is the session connected?
|
| |
| bool | IsHandshaked () const noexcept |
| | Is the session handshaked?
|
| |
| virtual bool | Disconnect () |
| | Disconnect the session.
|
| |
| virtual size_t | Send (const void *buffer, size_t size) |
| | Send data to the client (synchronous)
|
| |
| virtual size_t | Send (std::string_view text) |
| | Send text to the client (synchronous)
|
| |
| virtual size_t | Send (const void *buffer, size_t size, const CppCommon::Timespan &timeout) |
| | Send data to the client with timeout (synchronous)
|
| |
| virtual size_t | Send (std::string_view text, const CppCommon::Timespan &timeout) |
| | Send text to the client with timeout (synchronous)
|
| |
| virtual bool | SendAsync (const void *buffer, size_t size) |
| | Send data to the client (asynchronous)
|
| |
| virtual bool | SendAsync (std::string_view text) |
| | Send text to the client (asynchronous)
|
| |
| virtual size_t | Receive (void *buffer, size_t size) |
| | Receive data from the client (synchronous)
|
| |
| virtual std::string | Receive (size_t size) |
| | Receive text from the client (synchronous)
|
| |
| virtual size_t | Receive (void *buffer, size_t size, const CppCommon::Timespan &timeout) |
| | Receive data from the client with timeout (synchronous)
|
| |
| virtual std::string | Receive (size_t size, const CppCommon::Timespan &timeout) |
| | Receive text from the client with timeout (synchronous)
|
| |
| virtual void | ReceiveAsync () |
| | Receive data from the client (asynchronous)
|
| |
| void | SetupReceiveBufferLimit (size_t limit) noexcept |
| | Setup option: receive buffer limit.
|
| |
| void | SetupReceiveBufferSize (size_t size) |
| | Setup option: receive buffer size.
|
| |
| void | SetupSendBufferLimit (size_t limit) noexcept |
| | Setup option: send buffer limit.
|
| |
| void | SetupSendBufferSize (size_t size) |
| | Setup option: send buffer size.
|
| |
|
| void | onDisconnected () override |
| | Handle session disconnected notification.
|
| |
| void | onReceived (const void *buffer, size_t size) override |
| | Handle buffer received notification.
|
| |
| void | onReceivedRequestHeader (const HTTP::HTTPRequest &request) override |
| | Handle HTTP request header received notification.
|
| |
| void | onReceivedRequest (const HTTP::HTTPRequest &request) override |
| | Handle HTTP request received notification.
|
| |
| void | onReceivedRequestError (const HTTP::HTTPRequest &request, const std::string &error) override |
| | Handle HTTP request error notification.
|
| |
| void | onWSClose (const void *buffer, size_t size, int status=1000) override |
| | Handle WebSocket close notification.
|
| |
| void | onWSPing (const void *buffer, size_t size) override |
| | Handle WebSocket ping notification.
|
| |
| void | onWSError (const std::string &message) override |
| | Handle WebSocket error notification.
|
| |
| virtual void | onReceivedCachedRequest (const HTTPRequest &request, std::string_view content) |
| | Handle HTTP cached request received notification.
|
| |
| virtual void | onConnected () |
| | Handle session connected notification.
|
| |
| virtual void | onHandshaked () |
| | Handle session handshaked notification.
|
| |
| virtual void | onSent (size_t sent, size_t pending) |
| | Handle buffer sent notification.
|
| |
| virtual void | onEmpty () |
| | Handle empty send buffer notification.
|
| |
| virtual void | onError (int error, const std::string &category, const std::string &message) |
| | Handle error notification.
|
| |
| virtual void | onWSConnecting (HTTP::HTTPRequest &request) |
| | Handle WebSocket client connecting notification.
|
| |
| virtual void | onWSConnected (const HTTP::HTTPResponse &response) |
| | Handle WebSocket client connected notification.
|
| |
| virtual bool | onWSConnecting (const HTTP::HTTPRequest &request, HTTP::HTTPResponse &response) |
| | Handle WebSocket server session validating notification.
|
| |
| virtual void | onWSConnected (const HTTP::HTTPRequest &request) |
| | Handle WebSocket server session connected notification.
|
| |
| virtual void | onWSDisconnected () |
| | Handle WebSocket client disconnected notification.
|
| |
| virtual void | onWSReceived (const void *buffer, size_t size) |
| | Handle WebSocket received notification.
|
| |
| virtual void | onWSPong (const void *buffer, size_t size) |
| | Handle WebSocket pong notification.
|
| |
| | 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.
|
| |
| bool | PerformClientUpgrade (const HTTP::HTTPResponse &response, const CppCommon::UUID &id) |
| | Perform WebSocket client upgrade.
|
| |
| bool | PerformServerUpgrade (const HTTP::HTTPRequest &request, HTTP::HTTPResponse &response) |
| | Perform WebSocket server upgrade.
|
| |
| void | PrepareSendFrame (uint8_t opcode, bool mask, const void *buffer, size_t size, int status=0) |
| | Prepare WebSocket send frame.
|
| |
| void | PrepareReceiveFrame (const void *buffer, size_t size) |
| | Prepare WebSocket receive frame.
|
| |
| size_t | RequiredReceiveFrameSize () |
| | Required WebSocket receive frame size.
|
| |
| void | ClearWSBuffers () |
| | Clear WebSocket send/receive buffers.
|
| |
| void | InitWSNonce () |
| | Initialize WebSocket random nonce.
|
| |
WebSocket secure session.
WebSocket secure session is used to read and write data from the connected WebSocket secure client.
Thread-safe.
- Examples
- wss_chat_server.cpp.
Definition at line 26 of file wss_session.h.