Commit Graph
1488 Commits
Author SHA1 Message Date
Vinnie Falco 9ea70bfbe5 Set version to 205 2019-01-20 07:05:21 -08:00
Vinnie Falco 4d0849595c Add detail/prng.hpp 2019-01-20 07:05:16 -08:00
Vinnie Falco 785c0ad93d Add detail/soft_mutex.hpp 2019-01-20 07:05:16 -08:00
Vinnie Falco d7cc7a6d1e Doc work 2019-01-20 07:05:16 -08:00
Vinnie Falco 949fa967b9 Set version to 204 2019-01-17 17:20:49 -08:00
Vinnie Falco 4fcd6601b3 Doc work 2019-01-17 17:20:10 -08:00
Vinnie Falco 03bf9144b7 Unit test macros use the global suite
fix #1411
2019-01-17 17:19:00 -08:00
Vinnie Falco 72ea142c5c Add basic_timeout_stream:
This stream wrapper replaces basic_stream_socket and
provides just the timeout functionality.

* basic_stream_socket is removed
2019-01-17 17:18:31 -08:00
Vinnie Falco cfd9b46014 Set version to 203 2019-01-15 11:45:35 -08:00
Andrey Semashev 03c2a8e54c Boost.System is header-only:
fix #1414

* No need to link with Boost.System
2019-01-15 11:45:31 -08:00
Vinnie Falco ca5a70a3cd parse_until is not static
fix #1393
2019-01-15 11:42:05 -08:00
Vinnie Falco b337abe076 examples use flat_buffer
fix #1401
2019-01-15 11:42:05 -08:00
Vinnie Falco abb8203cbe session_alloc is thread-safe
fix #1408
2019-01-15 11:42:05 -08:00
Vinnie Falco cf2dbdc0be Use new saved_handler in websocket 2019-01-15 11:42:05 -08:00
Vinnie Falco 3092e43879 saved_handler is a public interface:
This container allows completion handlers to be safely
suspended and resumed later, or destroyed.
2019-01-12 18:42:32 -08:00
Johan Rönnkvist be800436ea Include error code in call to set_option 2019-01-12 13:14:33 -08:00
Vinnie Falco 3595eb2221 Update networking refresher doc 2019-01-12 13:11:00 -08:00
Vinnie Falco 0822e1bb5e Set version to 202 2019-01-11 20:07:02 -08:00
Vinnie Falco 3599ccb09a Add tests for async_op_base 2019-01-11 20:06:56 -08:00
Vinnie Falco b4c63028e2 Add tests for bind_back_handler 2019-01-09 18:24:34 -08:00
Vinnie Falco 5292df6e72 async_op_base is a public interface:
This utility simplifies the authoring of composed
operations, see documentation for details.
2019-01-09 09:54:53 -08:00
Vinnie Falco b46953f1bd Use async_op_base:
Composed operation implementations use async_op_base and
stable_async_op_base, to eliminate redundant boilerplate.
2019-01-09 09:54:42 -08:00
Vinnie Falco 9e44ae7be5 Refactor async_op_base:
* Renamed to async_op_base (was operation_base)
* Executor1 is explicit
* Add stable_async_op_base refinement
2019-01-09 09:54:15 -08:00
Vinnie Falco 522ca9e78b Tidy up basic_stream_socket docs 2019-01-09 09:54:05 -08:00
Vinnie Falco 0aa35d7266 Update coverage badge images 2019-01-09 09:53:53 -08:00
Glen Fernandes 1d5a18a0a1 Use cxxstd instead of cxxflags 2019-01-09 09:53:24 -08:00
Vinnie Falco 8b72b4d407 Set version to 201 2018-12-30 16:59:54 -08:00
Vinnie Falco 6caca92f0e New stream_socket:
This I/O object wraps an ordinary socket and provides a built-in
timeout and optional bandwidth rate-limiting facility.

Added class template basic_stream_socket

* Meets the requirements of AsyncReadStream and AsyncWriteStream

* Partially supports P1322R0:
  "Networking TS enhancement to enable custom I/O executors"
  http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1322r0.html

  A strand or other io_context-compatible executor may be
  chosen to use for all asynchronous stream operations.

* Supports independent timeouts on logical operations:
  connect, read, write, or both read and write.

* Provides an option for a configurable rate limit
  limit on the maximum rates of reading or writing.

* The previous experimental implementation,
  `timeout_socket` and related types, is removed.

* stream_socket is an alias for basic_stream_socket which
  uses `net::ip::tcp` as its protocol.
2018-12-30 16:49:09 -08:00
Vinnie Falco 2d3912751b Add core errors and conditions 2018-12-30 12:51:34 -08:00
Vinnie Falco 25f144f936 Rename test source files 2018-12-26 17:27:57 -08:00
Vinnie Falco 7caa0b8132 Tidy up some buffer sequence iterators 2018-12-23 20:19:43 -08:00
Vinnie Falco 92e598ade3 Add bind_back_handler
fix #1384
2018-12-21 06:35:07 -08:00
Vinnie Falco e7b8cc73a5 Decay bound arguments in handler wrapper parameters:
fix #1365

To reduce instantiations, the list of template parameters
to the bind and bind_front handler wrappers are decayed before
naming the class template.
2018-12-20 01:01:33 -08:00
Vinnie Falco f00237cb35 Set version to 200 2018-12-19 22:06:53 -08:00
Vinnie Falco c4f4087888 Add buffers_range_ref (replaces reference_wrapper parameter) 2018-12-19 21:51:49 -08:00
Vinnie Falco cbd5e76e92 Add type_traits tests 2018-12-19 21:51:49 -08:00
Vinnie Falco 002861bbc8 Adjust static_asio lib options in Jamfile 2018-12-19 21:51:49 -08:00
Vinnie Falco 9ccd8a754a HTTP tidying 2018-12-19 21:51:49 -08:00
Tocic 3a3f9c459e Fix typo 2018-12-19 21:51:49 -08:00
Vinnie Falco 61a35bd936 Remove file_mode::append_new (API Change):
* Tidying
* Increase test coverage
* Fix file_mode::append_existing

API Changes:

* file_mode::append_new is removed, as it makes no sense

Actions Required:

* Replace file_mode::append_new with file_mode::append
  or file_mode::append_existing instead of file_mode::append_new
2018-12-19 21:51:49 -08:00
Vinnie Falco 321af29d25 Refactor static_buffer:
* Improve tests and coverage
* Add static_buffer_base::clear
* Use BOOST_BEAST_DECL
2018-12-19 20:59:20 -08:00
Vinnie Falco 0006ab3b2b make_printable replaces buffers rename (API Change):
* The function buffers is deprecated, use the new
  function make_printable as the replacement.

Actions Required:

* Replace call sites to use make_printable instead of buffers,
  and also include make_printable.hpp instead of ostream.hpp.
2018-12-19 20:59:20 -08:00
Vinnie Falco 991bae8486 Refactor ostream:
* Fix overflow
* Better calculation for prepare, no read_size
* Improve tests and code coverage
2018-12-19 20:59:20 -08:00
Vinnie Falco 594a92e515 Tidy up multi_buffer:
* Improved tests
* Refactor some declaration material
* basic_multi_buffer::clear is public

and

* Fix flat_buffer::reserve
* flat_buffer::clear is public
2018-12-19 20:59:20 -08:00
Vinnie Falco 74293fb8a5 Test self copy, self move for dynamic buffers:
* Swap
* Copy assignment to self
* Move assignment to self
2018-12-19 20:59:20 -08:00
Vinnie Falco 05d22802ec Tidy up flat_static_buffer tests 2018-12-19 20:59:20 -08:00
Vinnie Falco 81e3642fa7 Fix ostream prepare calculation for low limits:
This resolves an issue where the ostream could try to
exceeed the configured maximum size of a dynamic buffer
when the maximum is set to a very low number.
2018-12-19 20:59:20 -08:00
Vinnie Falco b367776c37 Fixes and tidying for flat_buffer:
* Fix reserve() size calculation
* Improved test coverage
2018-12-19 20:59:20 -08:00
Vinnie Falco 477e5a6f98 Refactor buffers_suffix:
* Tidy up tests
* Increase code coverage
* Remove unnecessary move special members
* Correct behavior for default constructed iterators
2018-12-19 20:59:20 -08:00
Vinnie Falco 9d27f2659f Optimize for size on buffers_cat preconditions:
When BOOST_BEAST_TESTS is not defined, violations of
buffers_cat preconditions will assert instead of throwing
exceptions. This reduces the size of the emitted code
and improves performance.
2018-12-19 20:59:20 -08:00