Commit Graph
327 Commits
Author SHA1 Message Date
Richard Hodges 060f59685c Support BOOST_ASIO_NO_TS_EXECUTORS 2020-07-04 07:35:14 +02:00
Richard Hodges 5f1adfbc6d Refactor get_io_context 2020-07-04 07:35:06 +02:00
Christopher Kohlhoff 107b01ad24 Update bind_handler test to use standard executor form 2020-07-04 07:35:01 +02:00
Christopher Kohlhoff 55302a3f8f New name for polymorphic executor. Trait for detecting new executors 2020-07-04 07:34:34 +02:00
Christopher Kohlhoff 22f2f5dcf4 Handler invoke and allocation hooks are deprecated 2020-07-04 07:34:21 +02:00
Richard Hodges 93040ea8cc iless and iequal take part in Heterogeneous Lookup
Fixes #1949
2020-06-12 18:10:23 +02:00
Richard Hodges 14c3d50b57 Deprecate string_param (API Change):
API Changes:

`string_param`, which was previously the argument type when setting field values
has been replaced by `string_view`. Because of this, it is no longer possible to
set message field values directly as integrals.

Users are required to convert numeric arguments to a string type prior to calling
`fields::set` et. al.

Beast provides the non-allocating `to_static_string()` function for this purpose.

To set Content-Length field manually, call `message::content_length`.

fixes #1956
2020-06-12 17:33:20 +02:00
Richard Hodges ae2b699e04 Fix max() compile error
closes #1980
2020-06-12 14:21:11 +02:00
Richard Hodges 0fa658f644 Remove buffers_adapter.hpp (API Change):
API Changes:

The file `core/buffers_adapter.hpp` has been removed along with the deprecated
alias typename `buffers_adapter`. Affected programs should use
`core/buffers_adapator.hpp` and the type `buffers_adaptor`.

refs #1934
2020-06-03 12:59:56 +02:00
Richard Hodges cba83c0b42 Remove core/type_traits.hpp (API Change):
API Changes:

The core/type_traits.hpp public header has been removed and along with it
the type trait is_completion_handler. Beast uses the CompletionHandler correctness
checks provided by Asio. In a c++20 environment, these convert to concept checks.
2020-06-02 16:51:19 +02:00
Richard Hodges 92364b8db8 Remove reset function from flat_static_buffer (API Change):
API Changes:

The reset function has been removed from flat_static_buffer. Use the
clear function instead.

refs #1934
2020-06-02 16:05:04 +02:00
Richard Hodges 4fbb0079c3 Remove mutable_data_type from Dyanmic Buffers (API Change):
API Changes:

* Code that depends on mutable_data_type should be refactored to use
  mutable_buffers_type. Classes affected are:
  - buffers_adaptor
  - flat_buffer
  - flat_static_buffer
  - multi_buffer
  - static_buffer

refs #1934
2020-06-02 15:28:54 +02:00
Richard Hodges 60d4b54ec7 Remove handler_pointer (API Change):
API Changes:

handler_ptr has been removed. Users should use net::bind_handler and/or
bind_front_handler instead.

refs #1934
2020-06-02 12:57:43 +02:00
Richard Hodges d7f1426f34 Fix basic_stream expires_after (API Change):
API Changes:

basic_stream::expires_after used to take a nanosecond duration type argument. This
required users on systems where the steady_clock::duration_type was less accurate
to explicity duration_cast when calling this function, making code non-portable.
The duration type is now that of the embedded steady_clock.

Many thanks to @spdw for noticing this and providing a patch.

fixes #1943
closes #1960
2020-05-29 17:16:32 +02:00
Richard Hodges 73097d3bd3 Fix std::FILE namespace qualification
refs #1944
closes #1962
2020-05-29 16:41:56 +02:00
Edward Diener 871e439ac1 Fix FILE namespace qualification
fixes #1944
2020-05-20 15:54:55 +02:00
Richard Hodges 42bd4d4d18 Reduce dependencies of buffers_prefix
closes #1940
2020-05-04 18:48:15 +02:00
Richard Hodges 4be7c5aec3 Fix async_connect documentation
resolves #1903
2020-05-04 18:47:03 +02:00
Richard Hodges 438c238ab9 Comment move behaviour of basic_stream
resolves #1917
2020-05-04 10:58:54 +02:00
Richard Hodges 638e2d1244 Fix compilation errors with msvc /std:c++latest
fixes #1916
fixes #1925
2020-05-01 07:08:31 +02:00
Richard Hodges d016ff52af Fix all async initiating functions with use_awaitable:
Add trait:
    is_completion_token_for

Fixes for
    buffered_read_stream

Add tests for
    basic_stream
    buffered_read_stream
    flat_stream
    http (all)
    websocket (all)

resolves #1920
2020-04-28 20:48:00 +02:00
Richard Hodges 24cc4a7aee Fix async_detect_ssl with use_awaitable
fixes #1918
2020-04-28 20:45:13 +02:00
Richard Hodges 570eafcd40 Ensure basic_stream::close will not throw
refs: #1875
2020-03-17 16:06:41 +01:00
Richard Hodges 929b15f844 Correct buffer_bytes documentation
ref #1854
2020-03-17 16:02:53 +01:00
Cristian Morales Vega 75da7a522e Fix ostream flush:
fix #1853, close #1859, close #1866

After calling the DynamicBuffer commit() function the
buffer returned from prepare() can be invalidated but
the ostream kept using it.
2020-02-29 10:43:20 -08:00
Cristian Morales Vega 2c2e2c0812 detail::ostream_buffer is final:
The Clang Static Analyzer was complaining about the fact the destructor
calls a virtual function. This silences it.

close #1862
2020-02-29 10:43:05 -08:00
Richard Hodges 5a82673089 Add missing include 2020-02-29 10:43:00 -08:00
Richard Hodges ea078cfcdb Refactor flat_static_buffer 2020-02-29 10:43:00 -08:00
Richard Hodges 25c8fb4714 Refactor flat_buffer 2020-02-29 10:43:00 -08:00
Richard Hodges fc5399722e Refactor static_buffer 2020-02-29 10:43:00 -08:00
Richard Hodges 69ef525d5c Refactor buffers_adaptor 2020-02-29 10:43:00 -08:00
Vinnie Falco c340697171 Refactor multi_buffer 2020-02-29 10:42:30 -08:00
Richard Hodges 8a90ec0e3b flat_buffer shrink_to_fit never throws
fixes #1831
closes #1835
2020-02-04 19:41:50 +01:00
Richard Hodges 7701bf8738 moved-from container with unequal allocator will not be modified:
Affects:
- flat_buffer
- multi_buffer
- http::fields

fixes #1832
closes #1834
2020-02-04 18:36:53 +01:00
Richard Hodges 416cc40422 ostream_buffer satisfies preconditions of DynamicBuffer_v1::commit:
close #1806
2020-01-23 16:24:40 +01:00
Mika Fischer dfb44236e9 file_stdio supports unicode paths:
fix #793, close #1791, close #1793
2019-12-29 08:58:13 -08:00
Mika Fischer f0c92f472c file_win32 supports UTF-8 paths:
fix #793, close #1791, close #1793

This brings file_win32 in sync with the documentation.
Previously, the path passed to open worked if encoded in the system
codepage (which is almost never UTF-8).
Now, the path must be encoded as UTF-8, as stated in the
documentation.

Adapt file tests so that for file_win32 all paths include a unicorn
character.
2019-12-29 08:56:02 -08:00
Vinnie Falco 32bbd38387 Support Concepts for completion token params 2019-10-31 06:47:22 -07:00
Vinnie Falco 9f468ec1c1 Use automatically deduced return types for all async operations:
C++14 or later is required to support completion tokens that use
per-operation return type deduction. For C++11, a completion
token's async_result specialisation must still provide the nested
typedef `return_type`.
2019-10-31 06:47:22 -07:00
Vinnie Falco d64e5f718c Add basic_stream::rebind_executor 2019-10-31 06:26:12 -07:00
Vinnie Falco 7cc8759261 Async init-fns use the executor's default token 2019-10-31 05:47:05 -07:00
Vinnie Falco 087bcc4ef5 Use the executor type in basic_stream timer
fix #1589
2019-10-15 15:48:42 -07:00
Vinnie Falco 0f932d589b Silence unused variables 2019-10-04 18:57:48 -07:00
Vinnie Falco 8e7ef7aa0f Fix doc typo 2019-10-03 02:56:55 -07:00
Vinnie Falco c5d8c7b64c Multiple I/O of the same type is not supported
fix #1682
2019-08-29 10:55:47 -07:00
Mike Ellery e681f9d212 Add default dtors to satisfy -Wnon-virtual-dtor
close #1664
2019-08-29 10:52:07 -07:00
Vinnie Falco db2f0052ff basic_stream dtor cannot throw
fix #1688
2019-08-28 16:02:31 -07:00
Aurelien Chartier 70f232f6dd Fix signed/unsigned mismatch in file_stdio::seek
fix #1687
2019-08-28 16:02:31 -07:00
Damian Jarek dc6602b5d3 Fix header-only compilation errors in some configurations
Signed-off-by: Damian Jarek <damian.jarek93@gmail.com>
2019-07-08 20:28:58 +02:00
Damian Jarek 0b04c82e2b Fix unused variable warning in multi_buffer
Signed-off-by: Damian Jarek <damian.jarek93@gmail.com>
2019-07-08 20:28:58 +02:00