Please provide in your review whatever information you think is valuable to understand your final choice of ACCEPT or REJECT including Beast as a Boost library. Please be explicit about your decision.
Definite ACCEPT.
Some other questions you might want to consider answering:
- What is your evaluation of the design?
I think the design is very solid. If you are familiar with boost.asio, beast seems quite natural. This also means that other methods to handle asynchronous results (e.g. coroutines) can be used if they work with asio, which is a big plus. It is a bit confusing at some point that some functions are free standing while others are members, but afaik there is some design reason for that. In addition I feel there's something strange when you have `boost::asio::async_read` and `beast::http::async_read`. But I'm also not clear how this can be used.
- What is your evaluation of the implementation? As far as I've seen it, it is very solid.
- What is your evaluation of the documentation? It is excellent and I had no problems understanding it, even with my limited knowledge of http and websocket. - What is your evaluation of the potential usefulness of the library? Very, very high, this library is needed. It is the next logical step from boost.asio. - Did you try to use the library? With which compiler(s)? Did you have any problems? I am using it in a real project since two weeks, http as well as websocket. No problems thus far. - How much effort did you put into your evaluation? A glance? A quick reading? In-depth study? Two weeks development. - Are you knowledgeable about the problem domain? Familiar with asio, not with http & websocket. But I had not problem getting started with beast even with my limited expertise.
More information about the Boost Formal Review Process can be found here: http://www.boost.org/community/reviews.html
Thank you for your effort in the Boost community.
Happy coding - michael