WebSocket++  0.8.3-dev
C++ websocket client/server library
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Pages
Namespaces | Classes | Variables
websocketpp::extensions::permessage_deflate Namespace Reference

Implementation of RFC 7692, the permessage-deflate WebSocket extension. More...

Namespaces

 error
 Permessage deflate error values.
 

Classes

class  disabled
 Stub class for use when disabling permessage_deflate extension. More...
 
class  enabled
 

Variables

static uint8_t const default_server_max_window_bits = 15
 Default value for server_max_window_bits as defined by RFC 7692.
 
static uint8_t const min_server_max_window_bits = 8
 Minimum value for server_max_window_bits as defined by RFC 7692. More...
 
static uint8_t const max_server_max_window_bits = 15
 Maximum value for server_max_window_bits as defined by RFC 7692.
 
static uint8_t const default_client_max_window_bits = 15
 Default value for client_max_window_bits as defined by RFC 7692.
 
static uint8_t const min_client_max_window_bits = 8
 Minimum value for client_max_window_bits as defined by RFC 7692. More...
 
static uint8_t const max_client_max_window_bits = 15
 Maximum value for client_max_window_bits as defined by RFC 7692.
 

Detailed Description

Implementation of RFC 7692, the permessage-deflate WebSocket extension.

permessage-deflate interface

init
lib::error_code init(bool is_server)
Performs initialization

is_implimented
bool is_implimented()
Returns whether or not the object impliments the extension or not

is_enabled
bool is_enabled()
Returns whether or not the extension was negotiated for the current connection

generate_offer
std::string generate_offer() const
Create an extension offer string based on local policy

validate_response
lib::error_code validate_response(http::attribute_list const & response)
Negotiate the parameters of extension use

negotiate
err_str_pair negotiate(http::attribute_list const & attributes)
Negotiate the parameters of extension use

compress
lib::error_code compress(std::string const & in, std::string & out)
Compress the bytes in in and append them to out

decompress
lib::error_code decompress(uint8_t const * buf, size_t len, std::string & out)
Decompress len bytes from buf and append them to string out

Variable Documentation

◆ min_client_max_window_bits

uint8_t const websocketpp::extensions::permessage_deflate::min_client_max_window_bits = 8
static

Minimum value for client_max_window_bits as defined by RFC 7692.

NOTE: A value of 8 is not actually supported by zlib, the deflate library that WebSocket++ uses. To preserve backwards compatibility with RFC 7692 and previous versions of the library a value of 8 is accepted by the library but will always be negotiated as 9.

Definition at line 200 of file enabled.hpp.

◆ min_server_max_window_bits

uint8_t const websocketpp::extensions::permessage_deflate::min_server_max_window_bits = 8
static

Minimum value for server_max_window_bits as defined by RFC 7692.

NOTE: A value of 8 is not actually supported by zlib, the deflate library that WebSocket++ uses. To preserve backwards compatibility with RFC 7692 and previous versions of the library a value of 8 is accepted by the library but will always be negotiated as 9.

Definition at line 187 of file enabled.hpp.