Revisions of asio

buildservice-autocommit accepted request 1035073 from Eric Schirra's avatar Eric Schirra (ecsos) (revision 8)
baserev update by copy to link target
Eric Schirra's avatar Eric Schirra (ecsos) committed (revision 7)
  - Improved the performance of awaitable<>-based coroutines when they directly co_await an asynchronous operation,
    by eliminating the copy of the operation object in await_transform.
  - Improved the performance of spawn()-based stackful coroutines by storing a reference to the yield context in the completion handler,
    rather than storing a copy of the executor.
  - Fixed a C++03 build error by disabling index_sequence emulation when variadic templates are unavailable.
  - Fixed detection of std::aligned_alloc for older Apple platforms.
  - Removed faulty assertions from experimental::coro implementation.
  - Added defence against Qt-defined macros when building with Intel C++.
  - Ensured that a spawn()-based stackful coroutine is cleaned up immediately after it completes.
  - Changed the implementation of the select_reactor, on Windows, to ensure that any exception resulting from failure
    to recreate its interrupter's sockets will be allowed to propagate out through io_context::run().
  - Changed the MSVC version used for the system_error workaround, as more recent runtime redistributables appear to have fixed the issue.
  - Changed the async_compose example to use a return type compatible with the new async_result form.
  - Added a deduced trailing return type, using decltype, to all asynchronous operations' initiating functions when using C++11.
    This change enables the new form of async_result, where the return type can vary per operation, for C++11.
  - Moved append, prepend, as_tuple, and deferred to the asio namespace, and made them compatible with C++11.
    These are no longer experimental facilities, although the names have temporarily been retained under the asio::experimental namespace for backwards compatibility.
  - Added buffer() overloads for contiguous containers, such as std::span.
  - Added the ability for awaitable<>-based coroutines to directly co_await operations that are packaged as function objects.
  - Changed spawn() to be a completion token-based asynchronous operation.
  - Added the is_async_operation trait and async_operation concept.
  - Added the completion_signature_of trait. The completion_signature_of trait (and corresponding type alias completion_signature_of_t)
    may be used to determine the completion signature of an asynchronous operation.
  - Added converting move construction/assignment to posix descriptors, serial ports, pipes,
    Windows object_handle, Windows stream handles, and Windows random-access handles.
  - Added release() member functions to pipes, Windows stream handles, and Windows random-access handles.
  - Enabled support for Endpoint implementations that return void pointers from their data() member functions,
    as per the documented Endpoint type requirements.
  - Removed all() and race() from experimental::promise, as experimental::parallel_group covers this functionality.
  - Added source locations to exceptions and error codes produced by the synchronous and asynchronous operations.
Eric Schirra's avatar Eric Schirra (ecsos) committed (revision 6)
Eric Schirra's avatar Eric Schirra (ecsos) committed (revision 5)
- Update to 1.24.0
Eric Schirra's avatar Eric Schirra (ecsos) committed (revision 4)
Eric Schirra's avatar Eric Schirra (ecsos) committed (revision 3)
- Update to 1.18.2
  * Added ip::scope_id_type type alias.
  * Added ip::port_type type alias.
  * Added std::hash specialisations for IP addresses.
  * Added std::hash specialisations for ip::basic_endpoint<>.
  * Added friendship support to customisation points
  * Changed any_io_executor to a "strong typedef"-style class.
  * Fixed experimental::as_single to work with handler hook deprecation.
  * Fixed work tracking for io_context and thread_pool executors
    when move-assigned.
  * Fixed I/O object move-assignment to ensure the executor is left
    in a valid state.
  * Prevented the blocking.always property from being used with strand<>,
    as it did not produce the correct semantics.
  * Removed deprecated file asio/impl/src.cpp.
- Update to version 1.18.1
  * Added executor-converting construction and assignment to ip::basic_resolver.
  * Added the experimental::as_single completion token adapter.
  * Fixed the executor concept to test for a const-qualified execute().
  * Fixed the thread_pool unit test to work without RTTI support.
- Update to version 1.18.0
  * Added workarounds for various issues in gcc 10's coroutine support.
  * Added missing compatibility macros for the execution::receiver_of concept.
  * Added constraints to the strand template's constructor
  * Changed Asio's internal executor adapters to prevent template
    instantiation recursion.
  * Changed execution::blocking_t::always_t::is_preferable to be false as
    per the specification.
  * Added shape_type and index_type to thread_pool executors
  * Ensured that the standard executor concept-related traits
Eric Schirra's avatar Eric Schirra (ecsos) committed (revision 2)
- Version update to 1.16.1:
  * Fixed compatibility with C++20 concept syntax.
  * Marked the POSIX descriptor classes' move constructors as noexcept.
  * Added the ssl::host_name_verification class, which is a drop-in replacement for ssl::rfc2818_verification. The ssl::rfc2818_verification class has been marked as deprecated. As a consequence of this change, SSL support now depends on functions that were introduced in OpenSSL 1.0.2.
  * Added an ssl::context constructor to take ownership of a native handle.
  * Changed C++ language version detection with gcc to use __cplusplus macro.
  * Fixed a work counting issue in the asynchronous resolve operation for endpoints.
  * Fixed the strand<> converting constructors and assignment operators.
  * Ensured that resolvers are restarted correctly after a fork.
  * Fixed compatibility with the current NetBSD release.
  * Removed spurious handler requirement checks in some async_read overloads.
  * Changed the ssl::context class to propagate non-EOF errors from the add_certificate_authority function.
  * Fixed a Windows-specific thread_pool destructor hang that occurred when the pool had an associated I/O object.
  * Changed the select reactor to recreate the self pipe trick sockets on error. This addresses an issue on some versions of Windows, where these sockets are discconected after a system sleep.
  * Fixed a compile error in the buffered streams due to the lack of reference collapsing in C++98.
  * Changed the priority_scheduler example to demonstrate calls to shutdown() and destroy().
  * Removed some unnecessary null pointer checks.
  * Changed Windows platform detection to recognise TV titles as Windows apps.
  * Added some emscripten compatibility patches.
  * Fixed a compile error in the use_awaitable_t::as_default_on function.
  * Changed all uses of the boost.bind placeholders to use the boost::placeholders namespace.
  * Fixed a potential compile error in the async_compose implementation due to incorrect overload selection.
  * Suppressed some non-virtual destructor warnings.
  * Various documentation fixes and improvements.
- Changes from 1.16.0
  * Changed the async_initiate helper function to automatically deduce its return type. This is enabled for C++11 or later.
  * Changed all asynchronous operations to use automatically deduced return types. This allows completion token implementations to incorporate the asynchronous operation initiation into the initiating function's return type, without type erasure. Note that C++14 or later is required to support completion tokens that use per-operation return type deduction. For C++11 or earlier, a completion token's async_result specialisation must still provide the nested typedef return_type.
  * Introduced three new concepts to support async_initiate.
    - completion_signature<T>: Checks if T is a signature of the form R(Args...).
    - completion_handler_for<T, Signature>: Checks if T is usable as a completion handler with the specified signature.
Eric Schirra's avatar Eric Schirra (ecsos) committed (revision 1)
Displaying all 8 revisions
openSUSE Build Service is sponsored by