Loading...
Searching...
No Matches
websocketpp::extensions::permessage_deflate Namespace Reference

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

## Namespaces

namespace | 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.
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.
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

## default_client_max_window_bits

uint8_t const websocketpp::extensions::permessage_deflate::default_client_max_window_bits = 15

static

Default value for client_max_window_bits as defined by RFC 7692.

Definition at line 192 of file enabled.hpp.

## default_server_max_window_bits

uint8_t const websocketpp::extensions::permessage_deflate::default_server_max_window_bits = 15

static

Default value for server_max_window_bits as defined by RFC 7692.

Definition at line 179 of file enabled.hpp.

## max_client_max_window_bits

uint8_t const websocketpp::extensions::permessage_deflate::max_client_max_window_bits = 15

static

Maximum value for client_max_window_bits as defined by RFC 7692.

Definition at line 202 of file enabled.hpp.

## max_server_max_window_bits

uint8_t const websocketpp::extensions::permessage_deflate::max_server_max_window_bits = 15

static

Maximum value for server_max_window_bits as defined by RFC 7692.

Definition at line 189 of file enabled.hpp.

## 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.