Seastar
High performance C++ framework for concurrent servers
Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | Static Protected Attributes | List of all members
seastar::experimental::websocket::server_connection Class Reference

Detailed Description

a server WebSocket connection

#include <seastar/websocket/server.hh>

Inheritance diagram for seastar::experimental::websocket::server_connection:
seastar::experimental::websocket::connection

Public Member Functions

 server_connection (server &server, connected_socket &&fd)
 
future process ()
 serve WebSocket protocol on a server_connection
 
void shutdown_input ()
 close the socket
 
future close (bool send_close=true)
 

Protected Types

using buff_t = temporary_buffer< char >
 

Protected Member Functions

future read_loop ()
 
future read_http_upgrade_request ()
 
void on_new_connection ()
 
future handle_ping ()
 This function processess received PING frame. https://datatracker.ietf.org/doc/html/rfc6455#section-5.5.2.
 
future handle_pong ()
 This function processess received PONG frame. https://datatracker.ietf.org/doc/html/rfc6455#section-5.5.3.
 
future read_one ()
 
future response_loop ()
 
future send_data (opcodes opcode, temporary_buffer< char > &&buff)
 Packs buff in websocket frame and sends it to the client.
 

Protected Attributes

connected_socket _fd
 
input_stream< char > _read_buf
 
output_stream< char > _write_buf
 
bool _done = false
 
websocket_parser _websocket_parser
 
queue< temporary_buffer< char > > _input_buffer
 
input_stream< char > _input
 
queue< temporary_buffer< char > > _output_buffer
 
output_stream< char > _output
 
sstring _subprotocol
 
handler_t _handler
 

Static Protected Attributes

static const size_t PIPE_SIZE = 512
 

The documentation for this class was generated from the following file: