WebSocket++ v0.3.0 Release Notes
Release Date: 2014-08-09 // over 9 years ago-
- ๐ Feature : Adds
start_perpetual
andstop_perpetual
methods to asio transport
These may be used to replace manually managedasio::io_service::work
objects - ๐ Feature : Allow setting pong and handshake timeouts at runtime.
- ๐ Feature : Allows changing the listen backlog queue length.
- ๐ Feature : Split tcp init into pre and post init.
- ๐ Feature : Adds URI method to extract query string from URI. Thank you Banaan
for code. #298 - ๐ Feature : Adds a compile time switch to asio transport config to disable
certain multithreading features (some locks, asio strands) - ๐ Feature : Adds the ability to pause reading on a connection. Paused connections
will not read more data from their socket, allowing TCP flow control to work
without blocking the main thread. - ๐ Feature : Adds the ability to specify whether or not to use the
SO_REUSEADDR
0๏ธโฃ TCP socket option. The default for this value has been changed fromtrue
to
false
. - ๐ Feature : Adds the ability to specify a maximum message size.
- ๐ Feature : Adds
close::status::get_string(...)
method to look up a human
readable string given a close code value. - ๐ Feature : Adds
connection::read_all(...)
method to iostream transport as a
convenience method for reading all data into the connection buffer without the
end user needing to manually loop onread_some
. - ๐ Improvement : Open, close, and pong timeouts can be disabled entirely by
setting their duration to 0. - ๐ Improvement : Numerous performance improvements. Including: tuned default
buffer sizes based on profiling, caching of handler binding for async
reads/writes, non-malloc allocators for read/write handlers, disabling of a
number of questionably useful range sanity checks in tight inner loops. - ๐ Improvement : Cleaned up the handling of TLS related errors. TLS errors will
now be reported with more detail on the info channel rather than all being
tls_short_read
orpass_through
. In addition, many cases where a TLS short
read was in fact expected are no longer classified as errors. Expected TLS
short reads and quasi-expected socket shutdown related errors will no longer
be reported as unclean WebSocket shutdowns to the application. Information
about them will remain in the info error channel for debugging purposes. - ๐ Improvement :
start_accept
andlisten
errors are now reported to the caller
๐ป either via an exception or an ec parameter. - ๐ Improvement : Outgoing writes are now batched for improved message throughput
and reduced system call and TCP frame overhead. - ๐ Bug : Fix some cases of calls to empty lib::function objects.
- ๐ Bug : Fix memory leak of connection objects due to cached handlers holding on to
reference counted pointers. #310 Thank you otaras for reporting. - ๐ Bug : Fix issue with const endpoint accessors (such as
get_user_agent
) not
compiling due to non-const mutex use. #292 Thank you logofive for reporting. - ๐ Bug : Fix handler allocation crash with multithreaded
io_service
. - ๐ Bug : Fixes incorrect whitespace handling in header parsing. #301 Thank you
Wolfram Schroers for reporting - ๐ Bug : Fix a crash when parsing empty HTTP headers. Thank you Thingol for
reporting. - ๐ Bug : Fix a crash following use of the
stop_listening
function. Thank you
Thingol for reporting. - ๐ Bug : Fix use of variable names that shadow function parameters. The library
should compile cleanly with -Wshadow now. Thank you giszo for reporting. #318 - ๐ Bug : Fix an issue where
set_open_handshake_timeout
was ignored by server
code. Thank you Robin Rowe for reporting. - ๐ Bug : Fix an issue where custom timeout values weren't being propagated from
endpoints to new connections. - ๐ Bug : Fix a number of memory leaks related to server connection failures. #323
#333 #334 #335 Thank you droppy and aydany for reporting and patches.
reporting. - Compatibility : Fix compile time conflict with Visual Studio's MIN/MAX macros.
Thank you Robin Rowe for reporting. - ๐ Documentation : Examples and test suite build system now defaults to clang on
OS X
- ๐ Feature : Adds