$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
From: Thomas Fowlery (thomas.fowlery.yes_at_[hidden])
Date: 2024-08-13 09:36:22
Hi all,
I'm planning to start working on a new Web3 project and I'm trying to
decide how I should approach doing concurrency with C++ and Boost.
It seems like using callback-passing style with Asio has been pretty
popular historically. However, having worked with other modern languages
with first-class async support, this feels a bit primitive.
I've heard about C++20 coroutines and it seems like Boost has a library for
it (Cobalt). However, it's relatively new, so I'm curious if anyone had
experience with it and is it mature for production. I see that Asio also
has coroutine support, so what's the difference?
The third option I'm considering is using fibers. I like this option in
principle because the resulting code is very clean and looks like normal
synchronous code. However, I haven't seen many big examples/projects using
Boost.Fiber with Boost.Asio. Is this something people are doing out in the
wild? Does Asio support Fibers well?
Best regards,
Thomas