Subject: [boost] ASIO into the standard (was: Re: C++ committee meeting report)
From: Niall Douglas (s_sourceforge_at_[hidden])
Date: 2014-06-30 16:09:30
On 30 Jun 2014 at 10:19, Gary Powell wrote:
> While having a library in the standard isn't required to use it, it's so
> nice to have things like the File system standardized as well as building
> tools like Any and Optional and now ASIO.
I think the wicked hard problem with ASIO will be deciding what
subset of it to standardise. For example, I would wonder if strands
or coroutines or any of the Windows support would make it.
There is also a strong argument that anything in ASIO which isn't
async needs to go. Plus, some might feel that ASIO's current design
uses too much malloc for embedded systems/ultra low latency, and I
would sympathise :)
Finally, as a personal viewpoint I don't care much for ASIO's
internal implementation. I find it obtuse and hard to debug or indeed
figure out much at all as bits of implementation are scattered all
over the place. Some if not much of that is because ASIO implements a
sort of generic concept type framework all of which requires
checking, well the obvious course of action here is to use proper C++
17 concepts and do away with the legacy design cruft. I'd also
personally split the genericity away from the implementation, and
push the implementation into a non-header built stable ABI so we can
avoid pulling in so many system header files like all of windows.h.
Lastly, as I mentioned before we really need ASIO as a task executor
to do continuations easily into threading, futures etc and vice versa
so one can easily chain network with disc with thread messaging i/o
and so on.
I can already see others having vehement disagreements in the above
-- ned Productions Limited Consulting http://www.nedproductions.biz/ http://ie.linkedin.com/in/nialldouglas/
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk