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
Vinnie Falco
71de05d3cc
More std::string_view fixes
2019-04-18 16:15:42 -07:00
Vinnie Falco
00603397a9
Set version to 251
2019-04-15 08:22:08 -07:00
Damian Jarek
2cfe3ba1b8
Replace static_string in parser
...
close #1574
This change yields a modest performance improment of 1-2% by replacing
the exception-based handling of buffer overflow with one based on
regular conditional checks.
Signed-off-by: Damian Jarek <damian.jarek93@gmail.com>
2019-04-15 08:21:48 -07:00
Damian Jarek
b7a8fb5178
Fix compilation on MSVC with std::string_view
...
close #1573
std::string_view::iterator is not necessarily a raw pointer.
Signed-off-by: Damian Jarek <damian.jarek93@gmail.com>
2019-04-15 08:21:48 -07:00
Damian Jarek
8703038e37
launder pointers:
...
close #1570
`std::launder` must be used whenever placement-new of an unknown type
is performed and the result of the placement-new expression is discarded.
Signed-off-by: Damian Jarek <damian.jarek93@gmail.com>
2019-04-15 08:21:48 -07:00
Vinnie Falco
0345aa194d
Set version to 250
2019-04-11 12:18:10 -07:00
Mohamed El Housseine
ebe52537ea
Set parser status and flags even if body_limit_ has been reached
...
close #1556
2019-04-08 17:14:46 -07:00
Damian Jarek
bc9f63f10d
Cleanup endianness conversions:
...
close #1544
- Use Boost.Endian conversions functions.
- Remove existing private conversion functions.
Signed-off-by: Damian Jarek <damian.jarek93@gmail.com>
2019-04-08 17:14:04 -07:00
Vinnie Falco
5e88637752
Set version to 249
2019-04-08 15:13:46 -07:00
Vinnie Falco
1de60a0462
Move friend function template definition
2019-04-08 15:13:12 -07:00
Vinnie Falco
b701d72ddb
Set version to 248
2019-04-06 13:24:56 -07:00
Simon Ebner
7e78863074
Don't use a moved-from handler:
...
close #1560
* Obtain the executor from the handler prior
to transferring ownership.
2019-04-06 13:23:12 -07:00
Vinnie Falco
ea40d0262a
Set version to 247
2019-04-05 05:09:09 -07:00
Damian Jarek
ce986118f8
Fix async_base immediate completion
...
`complete(false, ...)` used the wrong executor when an async operation
completed immediately, potentially executing the completion handler on
the IO executor in some cases.
Signed-off-by: Damian Jarek <damian.jarek93@gmail.com>
2019-04-05 05:08:31 -07:00
Vinnie Falco
50d5b965dd
Set version to 246
2019-04-03 11:16:52 -07:00
Vinnie Falco
90d7434847
decorator ctor is explicit
2019-04-03 11:16:38 -07:00
Vinnie Falco
15256f5ea7
Set version to 245
2019-04-02 16:49:09 -07:00
Vinnie Falco
7c084509d6
decorator constructor is constrained
2019-04-02 16:49:05 -07:00
Vinnie Falco
a4974e18ba
Set version to 244
2019-04-02 05:28:13 -07:00
Vinnie Falco
8ec1a4d90f
Fix websocket keep-alive ping expiration
2019-04-01 18:14:25 -07:00
Vinnie Falco
27c572fbfa
Tidy up declval in some traits
2019-04-01 17:35:44 -07:00
Vinnie Falco
d8bc714030
Set version to 243
2019-03-30 14:15:02 -07:00
Denis Glazachev
058294e908
Fix http::message constructor constraint
2019-03-30 14:14:59 -07:00
Vinnie Falco
4f464ccaeb
Tidy up file_stdio for VS2015
2019-03-30 14:14:59 -07:00
Denis Glazachev
24ccdd243a
Fix some typos
2019-03-30 11:12:04 -07:00
Vinnie Falco
658e678673
Set version to 242
2019-03-29 20:42:44 -07:00
Vinnie Falco
4e90183bda
Check defined(BOOST_MSVC)
2019-03-29 20:42:44 -07:00
Vinnie Falco
a7faf03694
Fix http::message constructor constraint
2019-03-29 20:42:44 -07:00
Vinnie Falco
965c21615a
MSVC uses ::fopen_s
2019-03-29 20:42:44 -07:00
Vinnie Falco
3c82717fed
test::stream has deprecated lowest_layer for ssl
2019-03-29 17:31:18 -07:00
Vinnie Falco
b39a297b41
Set version to 241
2019-03-29 15:05:38 -07:00
Vinnie Falco
51db4d491a
basic_parser::content_length is stable (API Change):
...
fix #1375
* The value returned from `basic_parser::content_length`
no longer changes as the body of the message is received.
Actions Required:
* Call `basic_parser::content_length_remaining` instead
of `basic_parser::content_length`.
2019-03-29 15:05:30 -07:00
Vinnie Falco
5154233350
Set version 240
2019-03-27 09:13:53 -07:00
Vinnie Falco
ed9d861545
Fix ssl_stream teardown
2019-03-27 09:13:32 -07:00
Vinnie Falco
2c141cd4ad
Set version to 239
2019-03-24 11:05:28 -07:00
Damian Jarek
5a0b4d7ebe
More split compilation in HTTP
...
close #1541
- Remove unused private functions: `skip_ows_rev`, `skip_obs_fold`.
- Enable split compilation in `http/detail/rfc7230.hpp`.
- More split compilation in `basic_parser`.
- Remove some unnecessary includes.
Signed-off-by: Damian Jarek <damian.jarek93@gmail.com>
2019-03-24 11:05:24 -07:00
Vinnie Falco
b95bd46b49
Set version to 238
2019-03-24 09:18:06 -07:00
Vinnie Falco
61fcd9ef6f
Refactor Jamfiles to work with release layout
2019-03-24 09:18:02 -07:00
Vinnie Falco
4e82719640
Set version to 237
2019-03-23 17:50:49 -07:00
Vinnie Falco
b01d692ad7
Set version to 236
2019-03-22 10:09:32 -07:00
Vinnie Falco
f5d08d7b2c
Set version to 235
2019-03-21 17:23:49 +01:00
Vinnie Falco
1f18b2712c
Set version to 234
2019-03-19 12:31:39 -07:00
Vinnie Falco
0c3ca62590
Set version to 233
2019-03-14 12:13:18 -07:00
Damian Jarek
8869ec5681
Use secure TLS/SSL versions:
...
TLS1.2 can be used instead, it is available in all currently
supported versions of OpenSSL.
Signed-off-by: Damian Jarek <damian.jarek93@gmail.com>
2019-03-14 09:56:50 -07:00
Gregor Jasny
0033b7c1e4
Android: Use compiler pre-defined __ANDROID__
...
The ANDROID define us usually originationg from he build system
(like CMake, ndk-build, etc.). But some buildsystems like Bazel
do not set it which brakes Android platform detection.
Better use __ANDROID__ (like boost predef does) which is
predefined by the compiler if targeting Android.
2019-03-14 09:55:22 -07:00
Vinnie Falco
fdfd666e23
Set version to 232
2019-03-13 06:48:44 -07:00
Vinnie Falco
fdc83c981b
Fix basic_stream lowest_layer for ssl
2019-03-12 18:58:24 -07:00
Vinnie Falco
b7c3c1eb1a
Fix file_win32_write_op async initiation
2019-03-12 18:07:19 -07:00
Vinnie Falco
554701845c
Fix close_socket for net::basic_socket changes
2019-03-12 16:20:36 -07:00
Vinnie Falco
3c878479d0
Set version to 231
2019-03-12 13:44:51 -07:00