On Wed, Sep 6, 2023 at 5:11 PM Matt Pulver via Boost
On Tue, Sep 5, 2023 at 12:43 PM Ruben Perez via Boost < boost@lists.boost.org>
showcase how to do async stuff with Boost server-side.
A more advanced app, and what I would like to see personally, is an example and architectural discussion on design patterns involving how best to handle server requests that require more time/resources that may not be appropriate for a single-threaded server (e.g. a database server.)
I agree. This is also my case. While I can understand Ruben focuses on using async libs "all the way", unfortunately I don't have that luxury (or honestly the knowledge). In fact, some of the "protocols" / APIs I must support allow requesting large amount of data, thus I don't want a single request from one client to block all other clients. When everything is async, including talking to remote RDBMS's, maybe that one big request gets "suspended", allowing other (independent) requests to make progress, but in my case with a non-async DB layer to talk to, I don't think a single-threaded server is a viable solution. So while your initiative is great, and I'll try to study it, getting into a "less pure" hybrid app example, mixing async *and* sync (typically talking to DBs that did not get your async Boost.MySQL or Boost.Redis treatment), as Matt mentioned, would definitely help me. FWIW. In any case, thank you Ruben for trying to teach the rest of us the "async way" with Boost. --DD