On Fri, Oct 25, 2024 at 8:41 AM Peter Dimov via Boost
Assuming that your goal is to get a sans-io MQTT library in Boost, the question reduces to which path will be more likely to produce this outcome:
This really only happens when the author agrees it's worth doing and then they actually do it. Even then, Marcelo has claimed only partial support. HTTP/2 is a similarly multiplexed protocol. I'll agree that handling multiplexing with a protocol library is non-trivial, but I think Botan's shown that a callback-based approach for handling these kinds of things can create a satisfactory API. Users feed in whatever data they have and if a complete message for a stream comes in, you just invoke the user's callback. I'm hesitant to change my vote to a conditional accept because I feel like it implies some sort of a deadline/timeline. I think if we know the ultimate form the library should take, it's better to be patient and wait for that version than to accept-and-pray. The sans-I/O form is worth another review, in my opinion, because adding this makes it a new library, essentially. Plus, I'll actually try and use it with my project Fiona, which stands for Fastest I/O in North America. - Christian