-
Notifications
You must be signed in to change notification settings - Fork 12
Description
The very emergence of a modern and understandable alternative to Boost Asio is wonderful. But it seems this library takes on too much.
It should provide a platform-independent interface to sockets, timers, TLS and task queues (IO context), with possibility to implement io_context for my own platform
But don't cross the line of creating a framework. For example, it's important to use awaiters/callbacks everywhere, not coroutines. Boost Asio added its own (awaitable) poorly written coroutines, and that was a mistake. Coroutines can easily be added on top of regular callbacks (even in Boost Asio itself).
I haven't fully examined the entire library yet, but I can already see TCP Server (which I think is redundant) and Capy with its coroutines and framework logic - stop tokens, coroutine scheduling on executors, etc.
It's important to separate the low-level interface from the framework. I'm speaking from experience