28 #ifndef WEBSOCKETPP_CONFIG_CORE_CLIENT_HPP
29 #define WEBSOCKETPP_CONFIG_CORE_CLIENT_HPP
32 #include <websocketpp/common/platforms.hpp>
33 #include <websocketpp/common/cpp11.hpp>
34 #include <websocketpp/common/stdint.hpp>
37 #ifndef _WEBSOCKETPP_NO_THREADING_
38 #include <websocketpp/concurrency/basic.hpp>
40 #include <websocketpp/concurrency/none.hpp>
44 #include <websocketpp/transport/iostream/endpoint.hpp>
47 #include <websocketpp/http/request.hpp>
48 #include <websocketpp/http/response.hpp>
51 #include <websocketpp/message_buffer/message.hpp>
52 #include <websocketpp/message_buffer/alloc.hpp>
55 #include <websocketpp/logger/basic.hpp>
58 #include <websocketpp/random/random_device.hpp>
61 #include <websocketpp/endpoint_base.hpp>
62 #include <websocketpp/connection_base.hpp>
65 #include <websocketpp/extensions/permessage_deflate/disabled.hpp>
67 namespace websocketpp {
72 typedef core_client type;
75 #ifndef _WEBSOCKETPP_NO_THREADING_
76 typedef websocketpp::concurrency::basic concurrency_type;
78 typedef websocketpp::concurrency::none concurrency_type;
82 typedef http::parser::request request_type;
83 typedef http::parser::response response_type;
86 typedef message_buffer::message<message_buffer::alloc::con_msg_manager>
88 typedef message_buffer::alloc::con_msg_manager<message_type>
90 typedef message_buffer::alloc::endpoint_msg_manager<con_msg_manager_type>
91 endpoint_msg_manager_type;
94 typedef websocketpp::log::basic<concurrency_type,
95 websocketpp::log::elevel> elog_type;
96 typedef websocketpp::log::basic<concurrency_type,
97 websocketpp::log::alevel> alog_type;
100 typedef websocketpp::random::random_device::int_generator<uint32_t,
101 concurrency_type> rng_type;
106 static bool const enable_multithreading =
true;
108 struct transport_config {
109 typedef type::concurrency_type concurrency_type;
110 typedef type::elog_type elog_type;
111 typedef type::alog_type alog_type;
112 typedef type::request_type request_type;
113 typedef type::response_type response_type;
118 static bool const enable_multithreading =
true;
126 static const long timeout_socket_pre_init = 5000;
129 static const long timeout_proxy = 5000;
136 static const long timeout_socket_post_init = 5000;
139 static const long timeout_dns_resolve = 5000;
142 static const long timeout_connect = 5000;
145 static const long timeout_socket_shutdown = 5000;
149 typedef websocketpp::transport::iostream::endpoint<transport_config>
153 typedef websocketpp::endpoint_base endpoint_base;
155 typedef websocketpp::connection_base connection_base;
160 static const long timeout_open_handshake = 5000;
162 static const long timeout_close_handshake = 5000;
164 static const long timeout_pong = 5000;
172 static const int client_version = 13;
184 static const websocketpp::log::level elog_level =
185 websocketpp::log::elevel::all ^ websocketpp::log::elevel::devel;
197 static const websocketpp::log::level alog_level =
198 websocketpp::log::alevel::all ^ websocketpp::log::alevel::devel;
201 static const size_t connection_read_buffer_size = 16384;
210 static const bool drop_on_protocol_error =
false;
225 static const bool silent_close =
false;
237 static const size_t max_message_size = 32000000;
249 static const size_t max_http_body_size = 32000000;
252 static const bool enable_extensions =
true;
257 struct permessage_deflate_config {
258 typedef core_client::request_type request_type;
262 static const bool allow_disabling_context_takeover =
true;
269 static const uint8_t minimum_outgoing_window_bits = 8;
272 typedef websocketpp::extensions::permessage_deflate::disabled
273 <permessage_deflate_config> permessage_deflate_type;