You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Feature: Adds start_perpetual and stop_perpetual methods to asio transport
These may be used to replace manually managed asio::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
TCP socket option. The default for this value has been changed from true 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 on read_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 or pass_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 and listen 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