Boost logo

Boost :

Subject: Re: [boost] [review][beast] Five-days Remaining
From: Michael Larson (larsonm.pdx_at_[hidden])
Date: 2017-07-06 19:10:20


- If you have no experience with Asio or with HTTP, how approachable is
this library? Were you able to understand the documents? Could you use the
examples? Were you able to build something of your own?
Very approachable. I was able to git-submodule the github project, add a
couple lines to my CMakeLists.txt, and compose bits from the examples into
just what I needed. The one major gotcha for a new user is asio's lack of
configurable timeouts on sync methods. This seems to be a common problem
for new asio users and moving from sync examples to async real-world code
can be painful. I'd like to see an upfront note about this or more async
examples as I expect this library to be popular with users completely new
to asio.

- What is your evaluation of the design?
I haven't studied it enough to say

- What is your evaluation of the implementation?
It's template-heavy which is outside my normal comfort zone. Many error
messages are more confusing than they'd be with procedural or oop code.
Compilers have been making good progress with this and beast includes many
static asserts inside its templates to help.

- What is your evaluation of the documentation?
It's all there and searchable with good examples. I had trouble finding
the websocket binary flag without a google site search but once I found it
I saw it's in the obvious place

- What is your evaluation of the potential usefulness of the library?
Very high. Its main competitors are complex to set up or bloated/highly
coupled to a large set of libraries

- Did you try to use the library? With which compiler(s)? Did you have any
problems?
Yes, I'm using it in production and haven't had any issues. Beast has
contributed no extra compiler warnings or ubsan/asan problems to my own
code aside from one false positive which Vinnie quickly fixed. I wouldn't
expect any problems as the tests cover virtually everything. using clang
3.8.0 and gcc 5.4.0 and boost 1.58.0, which the author has kept compatible
through some effort as the minimum version

- How much effort did you put into your evaluation? A glance? A quick
reading? In-depth study?
A few days using beast to add embedded http servers to existing
applications, port existing libcurl client code, and write a new websocket
client for an existing server

- Are you knowledgeable about the problem domain?
Not really, I was looking for a library to take care of this

- should beast be accepted into boost?
Yes, accept. I avoided using boost for many years because of integration
headaches and compilation time. I've come around and now use it for basic
cross-platform support for things that in other languages would be part of
the standard library (like boost::filesystem and, before c++11,
boost::thread). Not having a standard way to do http is an embarrassment
and I'd like to see this accepted asap to hasten the inevitable libraries
that will go on top and have even more value for users looking for high
abstraction/simple use cases.

Michael Larson

On Wed, Jul 5, 2017 at 10:19 PM, Michael Caisse via Boost <
boost_at_[hidden]> wrote:

> Hi all -
>
> We are half-way through the review and have some great involvement and
> exchanges and a few reviews already.
>
> I hope if you haven't written a review yet that you still will. Please
> provide whatever effort you can afford toward the review process. Boost
> depends on community involvement.
>
> You might have noticed that I have solicited input from you regardless
> of your experience with the domain. I personally think it is a mistake
> to have input only from domain experts. True innovation often comes from
> "outsiders". If you have no experience with Asio or with HTTP, how
> approachable is this library? Were you able to understand the documents?
> Could you use the examples? Were you able to build something of your own?
>
> Domain experts -- you know the dark corners of the domain. The hard
> parts that have caused you hours of lost sleep and the need to hack
> around an existing library or to write your own. How does Beast address
> your concerns and the problems you have experienced in the past? Is it
> flexible enough to be put into your tool chest?
>
> So far we have reviews from:
>
> * Marcel Ebmer
> * Peter Dimov
> * Artyom Beilis
> * Zach Lain
> * Nik Bougalis
> * Klemens Morgenstern
> * Glen Fernandes
>
> If I missed a review from you, please let me know!
>
> Happy Coding!
> michael
> --
> Michael Caisse
> Ciere Consulting
> ciere.com
>
> _______________________________________________
> Unsubscribe & other changes: http://lists.boost.org/
> mailman/listinfo.cgi/boost
>


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk