On Mon, Jul 3, 2017 at 9:40 AM, Vinnie Falco via Boost < boost@lists.boost.org> wrote:
How much of Beast is useful without ASIO?
Not very much, although you can use beast::http::serializer and beast::http::basic_parser using only
which is pretty small, self contained, and knows nothing about sockets. There is a point of contention here, one reviewer thinks that buffer.hpp should not be a dependency. However that discussion is stalled due to non-technical reasons.
Realistically speaking if you are trying to use Beast without Asio (modulo buffer.hpp as stated above) you aren't going to get very far at all.
The question is must Beast be coupled to Asio, not can it be used without something like Asio. And I don't mean just in the case of someone using serializer/basic_parser and nothing else. In my opinion, arguing that coupling is necessary should begin with defining an interface which Beast can use, which can be trivially implemented in terms of Asio. In designing this interface the only concern should be avoiding the coupling; specifically, performance considerations should be completely ignored. Only then we can have a reasonable discussion is it worth it. Regardless, in my experience this kind of exercise always improves the design of a library.