Skip to content

Mariadb 4.x asio#59

Open
janlindstrom wants to merge 3 commits into
mariadb-4.xfrom
mariadb-4.x-asio
Open

Mariadb 4.x asio#59
janlindstrom wants to merge 3 commits into
mariadb-4.xfrom
mariadb-4.x-asio

Conversation

@janlindstrom

Copy link
Copy Markdown

No description provided.

mariadb-TeemuOllakka and others added 3 commits May 27, 2026 13:17
Make the provider build across all current Asio releases and against
any Asio in the supported range, not just the bundled copy.

CMake (cmake/asio.cmake):
* Add GALERA_CUSTOM_ASIO_PATH to build against an out-of-tree Asio.
* Lower the minimum version to 1.14.1 to match the bundled copy and
  drop the upper bound, so newer Asio is compiled rather than rejected
  at configure time.

Source: Asio 1.33.0 enables ASIO_NO_DEPRECATED by default and removes
a batch of long-deprecated APIs. Fix the breakages, guarded by
ASIO_VERSION < 103300 to stay compatible with older versions:
* io_context replaces the removed io_service typedef (via a native_type
 in AsioIoService::Impl); post()/reset() -> asio::post()/restart().
* basic_waitable_timer::expires_from_now() -> expires_after().
* asio::ip::address::from_string() -> asio::ip::make_address(); include
  asio/version.hpp so the guard is evaluated correctly.
* The removed resolver::query/resolver::iterator give way to the
  resolve(host, service[, flags]) overload; the resolve helpers now
  return the first resolved endpoint directly, simplifying callers.

Replace the remaining boost::bind uses with lambdas: Boost 1.74.0 no
longer injects boost::bind's placeholders into the global namespace,
so the unqualified usage failed to compile (seen with Asio 1.30.2).

Add scripts/test_asio_versions.sh: builds and runs the unit tests
against the bundled copy and the latest patch of every released Asio
major.minor from 1.14 to 1.38. The whole range passes.
@janlindstrom janlindstrom self-assigned this Jun 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants