Commit Graph
534 Commits
Author SHA1 Message Date
Vinnie Falco 8f1faababd Add buffers_iterator_type trait 2018-12-19 20:59:20 -08:00
Vinnie Falco 1998bad89d Add const and mutable buffer sequence traits:
* Add variadic is_const_buffer_sequence
* Add variadic is_mutable_buffer_sequence
* buffers_type is now variadic
2018-12-19 20:59:20 -08:00
Vinnie Falco 4cfe860b93 Refactor buffers_prefix:
* Tidy up tests
* Increase code coverage
* Correct behavior for default constructed iterators
2018-12-19 20:59:20 -08:00
Vinnie Falco 719fe66b77 Fix and refactor buffers_cat:
Elements of zero size are correctly skipped during iteration.

* Tidy up tests
* Increase code coverage
* Remove move special members
* Correct behavior for default constructed iterators
2018-12-19 20:59:20 -08:00
Vinnie Falco ca728e4022 Refactor buffers_range:
* Add tests
* Increase code coverage
* Correct behavior for default constructed iterators
2018-12-19 20:59:20 -08:00
Vinnie Falco 117dda7b31 Refactor buffers_adaptor (API Change):
* Tidy up tests
* Increase code coverage
* Remove move special members
* Correct behavior for default constructed iterators

API Changes:

* buffers_adaptor is renamed (was buffers_adapter)

Actions Required:

* Replace buffers_adapter.hpp with buffers_adaptor.hpp, and
  replace buffers_adapter with buffers_adaptor. Or, define
  BOOST_BEAST_ALLOW_DEPRECATED
2018-12-19 20:59:20 -08:00
Vinnie Falco c1d7a83af2 buffers_cat fixes and coverage:
* Fix operator== for default constructed iterators
* More tests and code coverage
2018-12-19 20:59:20 -08:00
Vinnie Falco 49c5f7c30f Don't include OpenSSL for core snippets 2018-12-19 20:59:20 -08:00
Vinnie Falco cf06a8dd6a Adjust CI scripts for superproject changes 2018-12-19 20:59:19 -08:00
Vinnie Falco e17a92f2a8 Workarounds for msvc-14 2018-12-13 19:38:44 -08:00
Vinnie Falco d0183da6d0 Tidy up buffers_prefix and tests 2018-12-12 19:32:22 -08:00
Vinnie Falco f0cbf8276e Tidy up bind_handler tests 2018-12-12 19:32:22 -08:00
Vinnie Falco 120d5481e2 Tidy up core files 2018-12-12 19:32:22 -08:00
Vinnie Falco 0a583a331d Add buffer_traits.hpp, buffers_type 2018-12-12 19:32:22 -08:00
Vinnie Falco 4fec064ad8 Files return errc::bad_file_descriptor (API Change):
fix #1356

* File functions return errc::bad_file_descriptor
  instead of errc::invalid_argument.

Actions Required:

* Callers checking for errc::invalid_argument from calls to
  file APIs should check for errc::bad_file_descriptor instead.
2018-12-12 19:32:21 -08:00
Vinnie Falco 8262405064 multi_buffer improvements:
fix #1345

* Revise documentation
* Add reserve() member
* Add max_size() member
* Add shrink_to_fit() member
* Respect Allocator max_size
* Specify exception safety
2018-12-12 19:32:21 -08:00
Vinnie Falco 11c71d118f flat_buffer improvements:
fix #1345

* Revise documentation
* Add reserve() member
* Add max_size() member
* Respect Allocator max_size
* Specify exception safety
2018-12-12 19:32:21 -08:00
Damian Jarek 776462a8a4 Use a struct instead of pair in flat_stream
No need to instantiate a pair and a custom struct has better member
names.

Signed-off-by: Damian Jarek <damian.jarek93@gmail.com>
2018-12-06 15:53:13 -08:00
Vinnie Falco 35e4f321bc Refactor HTTP operations (API Change):
* Revise stream algorithm javadocs

* HTTP stream algorithms now use beast::read and
  beast::async_read with a custom completion condition.

API Changes:

* HTTP stream algorithms return the number of bytes transferred
  from the stream. Previously, they returned the number of bytes
  consumed by the parser.

Actions Required:

* Callers depending on the return value of http::read or
  http::async_read overloads should adjust the usage of
  the returned value as needed.
2018-12-06 15:50:26 -08:00
Damian Jarek 587929edf6 Remove unused type_traits
close #1337

Signed-off-by: Damian Jarek <damian.jarek93@gmail.com>
2018-12-02 19:51:34 -08:00
Vinnie Falco 7005f6b918 Documentation work 2018-12-02 17:52:04 -08:00
Vinnie Falco 773048c551 Simplify multi_buffer and static_buffer sequences 2018-12-02 17:52:01 -08:00
Vinnie Falco f995fd41a3 net is a namespace alias for boost::asio:
The namespace alias beast::net replaces boost::asio in all code
and documentation.
2018-12-02 17:51:43 -08:00
Vinnie Falco 29cf6ce61f Dynamic buffers improvements:
fix #1305

Applies to:

    flat_buffer
    flat_static_buffer
    multi_buffer
    static_buffer

Changes:

* Revised all javadocs
* Move construction does not invalidate in some cases
* non-const data() returns a mutable buffer sequence
* Add cdata() to also return constant readable bytes
* Eligible member functions are declared noexcept
2018-11-30 13:46:56 -08:00
Damian Jarek 69f3e4d8fb Don't use-after-free in test:
fix #1327

Move construction of a queued completion handler was
accessing destroyed data.

Signed-off-by: Damian Jarek <damian.jarek93@gmail.com>
2018-11-28 13:34:47 -08:00
Damian Jarek 8930d437b5 Enable explicit instantiation of websocket::stream:
fix #1279, close #1319

This enables users to improve compilation performance by explicitly
instantiating the stream template in another TU.

Signed-off-by: Damian Jarek <damian.jarek93@gmail.com>
2018-11-26 18:38:09 -08:00
Vinnie Falco 02fb4983f6 Fixes to timeout services (experimental) 2018-11-26 15:30:49 -08:00
Vinnie Falco 5bff4ed8ab Tidy up warnings and deprecated usage:
fix #1290

* BOOST_ASIO_NO_DEPRECATED=1 is now set
* Fix various warnings from the Boost regression test matrix
* Fix a bug in advanced servers when checking for a timeout
2018-11-26 15:30:48 -08:00
Damian Jarek b9eb1d75d9 Fix buffers_cat uninitialized warning
Signed-off-by: Damian Jarek <damian.jarek93@gmail.com>
2018-11-22 08:07:10 -08:00
Damian Jarek b97169f26b Add detail::lean_tuple
Provides a subset of std::tuple functionality, for internal use
to reduce the resources required during compilation.

Does not support reference-like semantics on assignment.

Signed-off-by: Damian Jarek <damian.jarek93@gmail.com>
2018-11-21 12:47:38 -08:00
Damian Jarek 65827558b8 Simplify some type traits:
Several type traits are simplified and optimized to
reduce compile time and memory consumption.

Signed-off-by: Damian Jarek <damian.jarek93@gmail.com>
2018-11-21 12:47:38 -08:00
Vinnie Falco d581bcc348 Add bind_front_handler:
This works similarly to bind_handler, and can help with reducing
template instantiations and compiler memory usage (since it does
not need to support placeholders).

A specialization for the most common case `void(error_code, size_t)`
is provided to minimize instantiation cost.
2018-11-21 12:47:38 -08:00
Vinnie Falco 6ffef38dc4 Fix visibility warnings in test 2018-11-20 20:51:45 -08:00
Damian Jarek 9816d61f38 Improve compilation of tests for continuous integration:
fix #1293

* Build ASIO's non-template entities into a static library
  to reduce the compiler's memory usage during test compilation.

* Retry as single-threaded build after the first build failure.
2018-11-20 18:07:33 -08:00
Vinnie Falco c18f3f0ef1 Rename to _experimental directory 2018-11-12 06:52:39 -08:00
Vinnie Falco 071cab92d5 Add buffers_range 2018-11-12 06:39:36 -08:00
Vinnie Falco 0f3696f2ec Unit test framework is experimental 2018-11-11 13:56:05 -08:00
Vinnie Falco 215896723f Test for gcc warning bug 2018-11-03 19:30:15 -07:00
Vinnie Falco 335f5c2333 Add detail::dynamic_buffer_prepare:
This function acts as a bottleneck for handling
exceptions thrown by dynamic buffers.
2018-11-01 21:10:54 -07:00
Vinnie Falco 093af24e2b Fix warning in file tests 2018-10-28 21:19:12 -07:00
Vinnie Falco ef0658f678 Add experimental timeout_socket:
This is a socket wrapper which has a built-in timeout feature on
reads and writes.
2018-10-28 19:43:28 -07:00
compmaniak 955b7b31a5 Fix parsing of out-of-bounds hex values
fix #1267
2018-10-20 08:40:27 -07:00
luz.paz f3212eba48 Fix some typos:
fix #1255

Found via `codespell -q 3 -L uint,te,tim --skip="./test/extern/zlib*,./example/http/client/crawl*"`
2018-10-07 10:35:12 -07:00
Vinnie Falco e2d192ec78 Remove extraneous function 2018-10-07 10:35:12 -07:00
Glen Fernandes 5e98c78951 Use boost::empty_value
fix #1233
2018-09-23 10:12:08 -07:00
Boris Sergeev a4c008907d Fix a rare case of incorrect UTF8 validation
fix #1245, fix #1249

The value used to fill the incomplete code point buffer is
changed to a character which no longer causes
utf8_checker::valid() to incorrectly return false.
2018-09-23 10:12:07 -07:00
Vinnie Falco 5fd2bd445c Add parse_dec tests 2018-07-29 17:39:03 -07:00
Joe Loser 283c9f26f3 Remove some unused variables
fix #1197
2018-07-23 09:20:51 -07:00
Vinnie Falco 92d34b9e3b Use static_cast instead
fix #1163
2018-07-15 09:11:15 -07:00
Vinnie Falco e8c6a82c3b Add test for issue #1188 2018-07-12 08:49:25 -07:00