28 #ifndef WEBSOCKETPP_CONFIG_CORE_HPP
29 #define WEBSOCKETPP_CONFIG_CORE_HPP
32 #include <websocketpp/common/platforms.hpp>
33 #include <websocketpp/common/cpp11.hpp>
34 #include <websocketpp/common/stdint.hpp>
37 #include <websocketpp/concurrency/basic.hpp>
40 #include <websocketpp/transport/iostream/endpoint.hpp>
43 #include <websocketpp/http/request.hpp>
44 #include <websocketpp/http/response.hpp>
47 #include <websocketpp/message_buffer/message.hpp>
48 #include <websocketpp/message_buffer/alloc.hpp>
51 #include <websocketpp/logger/basic.hpp>
52 #include <websocketpp/logger/levels.hpp>
55 #include <websocketpp/random/none.hpp>
58 #include <websocketpp/endpoint_base.hpp>
59 #include <websocketpp/connection_base.hpp>
62 #include <websocketpp/extensions/permessage_deflate/disabled.hpp>
64 namespace websocketpp {
72 typedef websocketpp::concurrency::basic concurrency_type;
75 typedef http::parser::request request_type;
76 typedef http::parser::response response_type;
79 typedef message_buffer::message<message_buffer::alloc::con_msg_manager>
81 typedef message_buffer::alloc::con_msg_manager<message_type>
83 typedef message_buffer::alloc::endpoint_msg_manager<con_msg_manager_type>
84 endpoint_msg_manager_type;
87 typedef websocketpp::log::basic<concurrency_type,
88 websocketpp::log::elevel> elog_type;
89 typedef websocketpp::log::basic<concurrency_type,
90 websocketpp::log::alevel> alog_type;
93 typedef websocketpp::random::none::int_generator<uint32_t> rng_type;
98 static bool const enable_multithreading =
true;
100 struct transport_config {
101 typedef type::concurrency_type concurrency_type;
102 typedef type::elog_type elog_type;
103 typedef type::alog_type alog_type;
104 typedef type::request_type request_type;
105 typedef type::response_type response_type;
110 static bool const enable_multithreading =
true;
118 static const long timeout_socket_pre_init = 5000;
121 static const long timeout_proxy = 5000;
128 static const long timeout_socket_post_init = 5000;
131 static const long timeout_dns_resolve = 5000;
134 static const long timeout_connect = 5000;
137 static const long timeout_socket_shutdown = 5000;
141 typedef websocketpp::transport::iostream::endpoint<transport_config>
145 typedef websocketpp::endpoint_base endpoint_base;
147 typedef websocketpp::connection_base connection_base;
152 static const long timeout_open_handshake = 5000;
154 static const long timeout_close_handshake = 5000;
156 static const long timeout_pong = 5000;
164 static const int client_version = 13;
176 static const websocketpp::log::level elog_level =
177 websocketpp::log::elevel::all ^ websocketpp::log::elevel::devel;
189 static const websocketpp::log::level alog_level =
190 websocketpp::log::alevel::all ^ websocketpp::log::alevel::devel;
204 static const size_t connection_read_buffer_size = 16384;
213 static const bool drop_on_protocol_error =
false;
228 static const bool silent_close =
false;
240 static const size_t max_message_size = 32000000;
252 static const size_t max_http_body_size = 32000000;
255 static const bool enable_extensions =
true;
260 struct permessage_deflate_config {
261 typedef core::request_type request_type;
265 static const bool allow_disabling_context_takeover =
true;
272 static const uint8_t minimum_outgoing_window_bits = 8;
275 typedef websocketpp::extensions::permessage_deflate::disabled
276 <permessage_deflate_config> permessage_deflate_type;