758 Commits

Author SHA1 Message Date
Vinnie Falco d5cd3e829b Don't over-allocate in http::basic_fields 2019-07-01 12:49:03 -07:00
Damian Jarek 5f0939e771 Simplify websocket::detail::prng:
- Use a regular function pointer for dynamic dispatch.
- Remove `prng::ref` - it did not benefit the default case
  (TLS avaialable) and actually made the no-TLS case slower, because
  the time spent in the generator is dominated by mutex locking.

Signed-off-by: Damian Jarek <damian.jarek93@gmail.com>
2019-07-01 12:49:01 -07:00
Damian Jarek a7e932b13c Remove redundant includes in websocket
Signed-off-by: Damian Jarek <damian.jarek93@gmail.com>
2019-07-01 19:43:43 +02:00
Damian Jarek fea681b459 Deduplicate websocket::read_size_hint definition
Signed-off-by: Damian Jarek <damian.jarek93@gmail.com>
2019-06-25 04:21:52 +02:00
Damian Jarek 10b8f90749 Set version to 260
Signed-off-by: Damian Jarek <damian.jarek93@gmail.com>
2019-06-24 11:07:45 -07:00
Damian Jarek 9847fd6e69 Remove redundant includes in core
Signed-off-by: Damian Jarek <damian.jarek93@gmail.com>
2019-06-24 11:07:41 -07:00
Damian Jarek 7e8af58307 Move detail::base64 helpers to tests
These functions were only used in tests.

Signed-off-by: Damian Jarek <damian.jarek93@gmail.com>
2019-06-24 11:07:41 -07:00
Damian Jarek 1635df0e11 Simplify generation of sec-websocket-key
The result of `g()` is a random number, therefore it's not necessary
to care about endianness in this case.

Signed-off-by: Damian Jarek <damian.jarek93@gmail.com>
2019-06-24 11:07:41 -07:00
Damian Jarek b8b04f8f39 Cleanup transitive includes in beast/core/detail/type_traits.hpp
Signed-off-by: Damian Jarek <damian.jarek93@gmail.com>
2019-06-24 11:07:41 -07:00
Damian Jarek 153408eb5b More split compilation in websocket/detail/mask.hpp
Signed-off-by: Damian Jarek <damian.jarek93@gmail.com>
2019-06-23 16:58:15 +02:00
Damian Jarek 1a720c8354 Qualify calls to beast::iequals in basic_parser.ipp
Signed-off-by: Damian Jarek <damian.jarek93@gmail.com>
2019-06-23 16:58:15 +02:00
Damian Jarek 50ce5f7396 More split compilation in rfc7230.hpp
* Moved `find` and `exists` to the `ipp` file.
* Fixed missing include file in MSVC.

Signed-off-by: Damian Jarek <damian.jarek93@gmail.com>
2019-06-23 09:50:16 +02:00
Damian Jarek 048fe16fa3 Set version to 259
Signed-off-by: Damian Jarek <damian.jarek93@gmail.com>
2019-06-19 11:37:25 -07:00
Vinnie Falco 61721544f0 Style tidying 2019-06-19 11:37:20 -07:00
Damian Jarek 214fa12f21 Use beast::read_size in detail::read
This allows using the read size hint and deduplicates a fairly
complicated piece of code.

Signed-off-by: Damian Jarek <damian.jarek93@gmail.com>
2019-06-19 17:53:36 +02:00
Damian Jarek f10dc38ae6 Replace uses of net::coroutine with asio::coroutine
`asio::coroutine` is an extension, which is not part of
the Networking TS, so the `net` alias is not appropriate in this case.

Signed-off-by: Damian Jarek <damian.jarek93@gmail.com>
2019-06-19 17:53:35 +02:00
Damian Jarek a0d5baf22a Improve performance of http::string_to_verb
`operator==` performs better than the hand-written comparison routine.

fix #1636

Signed-off-by: Damian Jarek <damian.jarek93@gmail.com>
2019-06-19 17:53:35 +02:00
Damian Jarek da61b4e52c Move char_buffer into a separate file
Signed-off-by: Damian Jarek <damian.jarek93@gmail.com>
2019-06-19 17:53:34 +02:00
Damian Jarek a7ae580568 Remove unused includes from test::stream
Signed-off-by: Damian Jarek <damian.jarek93@gmail.com>
2019-06-19 17:53:34 +02:00
Damian Jarek edca7dd18e Remove redundant use of asio::coroutine in flat_stream
Signed-off-by: Damian Jarek <damian.jarek93@gmail.com>
2019-06-19 17:53:34 +02:00
Damian Jarek a7ff1a41e7 Remove redundant instation of static_string in websocket
Signed-off-by: Damian Jarek <damian.jarek93@gmail.com>
2019-06-19 17:53:33 +02:00
Damian Jarek d5f5f1467f Enable split compilation in http::basic_fields
Moved functions,that are independent of template argument, into
an *.ipp file.

Signed-off-by: Damian Jarek <damian.jarek93@gmail.com>
2019-06-19 17:53:33 +02:00
Damian Jarek 833243d948 Remove the use of static_string from http::fields
The `temporary_buffer<A>` class template replaces the use of
`static_string` in `http::fields`, simplifying `set_chunked_impl` and
`set_keep_alive_impl`.

Signed-off-by: Damian Jarek <damian.jarek93@gmail.com>
2019-06-04 15:31:18 +02:00
Damian Jarek 76842d637f Reduce the number of instantiations of filter_token_list
Not using lambdas in this case reduced the number of instantiations of
the algorithm by a factor of 4x at no (observable) runtime cost.

Signed-off-by: Damian Jarek <damian.jarek93@gmail.com>
2019-06-03 18:05:52 +02:00
Damian Jarek 6af4c01e56 Set version to 258
Signed-off-by: Damian Jarek <damian.jarek93@gmail.com>
2019-06-01 18:16:27 +02:00
Damian Jarek d52b4e4bd3 Fix clang inititalization warning in websocket
Clang suggests using double braces when initializing a single subobject
of an aggregate.

Signed-off-by: Damian Jarek <damian.jarek93@gmail.com>
2019-05-31 02:04:36 +02:00
Damian Jarek 52668cf730 Set version to 257
Signed-off-by: Damian Jarek <damian.jarek93@gmail.com>
2019-05-29 21:14:18 +02:00
Vinnie Falco e9781b225e Fix flat_buffer copy members
fix #1621
2019-05-29 21:14:14 +02:00
Damian Jarek 8198571555 Use if statement in basic_stream:
An `if` statement is cheaper to instantiate without additional runtime
cost when optimizations are enabled.

Signed-off-by: Damian Jarek <damian.jarek93@gmail.com>
2019-05-27 22:15:49 +02:00
Damian Jarek 894ab45052 Remove experimental/unit_test/thread.hpp
The file has been unused in Beast for a few releases.

Actions required:
- Copy the `thread` class into your project.

Signed-off-by: Damian Jarek <damian.jarek93@gmail.com>
2019-05-27 22:13:13 +02:00
Damian Jarek 15232fcf69 Set version to 256
Signed-off-by: Damian Jarek <damian.jarek93@gmail.com>
2019-05-20 15:34:22 +02:00
Vinnie Falco be460675bc Preserve operation_aborted on partial message 2019-05-20 15:34:22 +02:00
Damian Jarek 3fa468f840 Add 1-element specialization for buffers_cat
`buffers_cat` now supports 1 or more buffers sequences.

Close #1280

Signed-off-by: Damian Jarek <damian.jarek93@gmail.com>
2019-05-20 15:33:43 +02:00
Damian Jarek 9909fada29 allocator_traits::construct is used for user-defined types:
It should only be called when constructing a user-provided type.

Close #1332

Signed-off-by: Damian Jarek <damian.jarek93@gmail.com>
2019-05-20 15:29:21 +02:00
Damian Jarek e98fc22bec Remove redundant template in service_base
Signed-off-by: Damian Jarek <damian.jarek93@gmail.com>
2019-05-19 22:32:43 +02:00
Damian Jarek 0f77bd7149 Remove the use of bind_executor in basic_stream:
Use the executor hook instead of `bind_executor` to avoid template
instantiations.

Signed-off-by: Damian Jarek <damian.jarek93@gmail.com>
2019-05-19 22:32:43 +02:00
Damian Jarek dcf3db7f83 Remove redundant use of static_string
This avoids an instantiation and copy of the data when adding the Server
header field.

Close #1613

Signed-off-by: Damian Jarek <damian.jarek93@gmail.com>
2019-05-19 22:32:43 +02:00
Damian Jarek c254b4fcfb Remove uses of the deprecated buffers function
Fix: 1607
Close: 1608

Signed-off-by: Damian Jarek <damian.jarek93@gmail.com>
2019-05-19 22:32:37 +02:00
Vinnie Falco d1dabebd83 Set version to 255 2019-05-04 18:48:14 -07:00
Vinnie Falco 77f3bb0764 Fix moved-from executor in idle ping timeout
fix #1599
2019-05-04 18:47:44 -07:00
Damian Jarek 18befa5f8c Set version to 254
Signed-off-by: Damian Jarek <damian.jarek93@gmail.com>
2019-05-04 17:30:25 +02:00
Damian Jarek dbadb79a75 Silence gcc-8 warning:
The warning was caused by a false positive triggered by boost::optional.
Reference:
https://github.com/boostorg/optional/issues/72

Signed-off-by: Damian Jarek <damian.jarek93@gmail.com>
2019-05-04 17:30:25 +02:00
Damian Jarek 7a388b7da6 Fix uninitalized memory use in deflate_stream
Reference in original zlib:
https://github.com/madler/zlib/pull/393

Resolves: #1586

Signed-off-by: Damian Jarek <damian.jarek93@gmail.com>
2019-05-04 17:30:23 +02:00
Damian Jarek fd52df9206 Fix data race in test stream
Resolve: #1594

Signed-off-by: Damian Jarek <damian.jarek93@gmail.com>
2019-05-02 19:39:22 +02:00
Vinnie Falco 41040a21f0 Set version to 253 2019-04-20 10:19:37 -07:00
Damian Jarek 45aaf22acd Relax requirements for vector_body:
fix: #1567

std::byte is not an arithmetic type, which caused compilation to fail
when it was used in vector_body.

Signed-off-by: Damian Jarek <damian.jarek93@gmail.com>
2019-04-20 10:19:31 -07:00
Vinnie Falco e53ccf251c Fix min/max on MSVC
fix #1578
2019-04-19 11:36:00 -07:00
Vinnie Falco 0a334d96d1 member get_executor const-correctness
fix #1559
2019-04-19 11:18:55 -07:00
Vinnie Falco db118f4dc4 Fix async_detect_ssl handler type
close #1569
2019-04-18 18:22:24 -07:00
Vinnie Falco 6e70c4260f Set version to 252 2019-04-18 16:42:30 -07:00