2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
28#ifndef WEBSOCKETPP_COMMON_CPP11_HPP
29#define WEBSOCKETPP_COMMON_CPP11_HPP
32
33
37 #define __has_feature(x) 0
40 #define __has_extension __has_feature
48#if defined(_WEBSOCKETPP_CPP11_STL_) || __cplusplus
>= 201103L
|| defined(_WEBSOCKETPP_CPP11_STRICT_)
57 #define _WEBSOCKETPP_CPP11_INTERNAL_
71 #ifndef _WEBSOCKETPP_NOEXCEPT_TOKEN_
72 #define _WEBSOCKETPP_NOEXCEPT_TOKEN_ noexcept
74 #ifndef _WEBSOCKETPP_CONSTEXPR_TOKEN_
75 #define _WEBSOCKETPP_CONSTEXPR_TOKEN_ constexpr
77 #ifndef _WEBSOCKETPP_INITIALIZER_LISTS_
78 #define _WEBSOCKETPP_INITIALIZER_LISTS_
80 #ifndef _WEBSOCKETPP_NULLPTR_TOKEN_
81 #define _WEBSOCKETPP_NULLPTR_TOKEN_ nullptr
83 #ifndef _WEBSOCKETPP_MOVE_SEMANTICS_
84 #define _WEBSOCKETPP_MOVE_SEMANTICS_
86 #ifndef _WEBSOCKETPP_DEFAULT_DELETE_FUNCTIONS_
87 #define _WEBSOCKETPP_DEFAULT_DELETE_FUNCTIONS_
93 #define _WEBSOCKETPP_PUTTIME_
102 #ifndef _WEBSOCKETPP_NOEXCEPT_TOKEN_
103 #ifdef _WEBSOCKETPP_NOEXCEPT_
105 #define _WEBSOCKETPP_NOEXCEPT_TOKEN_ noexcept
107 #if __has_feature(cxx_noexcept)
109 #define _WEBSOCKETPP_NOEXCEPT_TOKEN_ noexcept
110 #elif defined(_MSC_VER) && _MSC_VER >= 1900
112 #define _WEBSOCKETPP_NOEXCEPT_TOKEN_ noexcept
115 #define _WEBSOCKETPP_NOEXCEPT_TOKEN_
121 #ifndef _WEBSOCKETPP_CONSTEXPR_TOKEN_
122 #ifdef _WEBSOCKETPP_CONSTEXPR_
124 #define _WEBSOCKETPP_CONSTEXPR_TOKEN_ constexpr
126 #if __has_feature(cxx_constexpr)
128 #define _WEBSOCKETPP_CONSTEXPR_TOKEN_ constexpr
129 #elif defined(_MSC_VER) && _MSC_VER >= 1900
131 #define _WEBSOCKETPP_CONSTEXPR_TOKEN_ constexpr
134 #define _WEBSOCKETPP_CONSTEXPR_TOKEN_
140 #if __has_feature(cxx_generalized_initializers) && !defined(_WEBSOCKETPP_INITIALIZER_LISTS_)
141 #define _WEBSOCKETPP_INITIALIZER_LISTS_
145 #ifndef _WEBSOCKETPP_NULLPTR_TOKEN_
146 #ifdef _WEBSOCKETPP_NULLPTR_
148 #define _WEBSOCKETPP_NULLPTR_TOKEN_ nullptr
150 #if __has_feature(cxx_nullptr)
152 #define _WEBSOCKETPP_NULLPTR_TOKEN_ nullptr
153 #elif defined(_MSC_VER) &&_MSC_VER >= 1600
155 #define _WEBSOCKETPP_NULLPTR_TOKEN_ nullptr
158 #define _WEBSOCKETPP_NULLPTR_TOKEN_ 0
Concurrency policy that uses std::mutex / boost::mutex.
Stub for user supplied base class.
Stub for user supplied base class.
Stub class for use when disabling permessage_deflate extension.
Stores, parses, and manipulates HTTP requests.
Stores, parses, and manipulates HTTP responses.
Basic logger that outputs to an ostream.
Thread safe stub "random" integer generator.
Server endpoint role based on the given config.
Basic ASIO endpoint socket component.
Asio based endpoint transport component.
Concurrency handling support.
Implementation of RFC 7692, the permessage-deflate WebSocket extension.
Stub RNG policy that always returns 0.
Random number generation policies.
Transport policy that uses asio.
Transport policy that uses STL iostream for I/O and does not support timers.
Transport policies provide network connectivity and timers.
Namespace for the WebSocket++ project.
Server config with asio transport and TLS disabled.
Extension specific settings:
static const uint8_t minimum_outgoing_window_bits
static const bool allow_disabling_context_takeover
static const long timeout_socket_shutdown
Length of time to wait for socket shutdown.
static const long timeout_connect
Length of time to wait for TCP connect.
static const long timeout_dns_resolve
Length of time to wait for dns resolution.
static const long timeout_proxy
Length of time to wait before a proxy handshake is aborted.
static const long timeout_socket_pre_init
Default timer values (in ms).
static bool const enable_multithreading
static const long timeout_socket_post_init
Length of time to wait for socket post-initialization.
Server config with iostream transport.
websocketpp::random::none::int_generator< uint32_t > rng_type
RNG policies.
static const websocketpp::log::level elog_level
Default static error logging channels.
websocketpp::transport::iostream::endpoint< transport_config > transport_type
Transport Endpoint Component.
static const size_t max_http_body_size
Default maximum http body size.
static const long timeout_open_handshake
Default timer values (in ms).
static const size_t max_message_size
Default maximum message size.
static const bool drop_on_protocol_error
Drop connections immediately on protocol error.
static const long timeout_close_handshake
Length of time before a closing handshake is aborted.
static const websocketpp::log::level alog_level
Default static access logging channels.
websocketpp::log::basic< concurrency_type, websocketpp::log::elevel > elog_type
Logging policies.
static const long timeout_pong
Length of time to wait for a pong after a ping.
static const bool silent_close
Suppresses the return of detailed connection close information.
static bool const enable_multithreading
static const size_t connection_read_buffer_size
Size of the per-connection read buffer.
static const bool enable_extensions
Global flag for enabling/disabling extensions.
static const int client_version
WebSocket Protocol version to use as a client.
Package of log levels for logging access events.
static level const devel
Development messages (warning: very chatty).
static level const all
Special aggregate value representing "all levels".
Package of log levels for logging errors.
static level const devel
Low level debugging information (warning: very chatty).
static level const all
Special aggregate value representing "all levels".