Hacker News new | ask | show | jobs
by agallego 2654 days ago
cool project.

However, the callback has an odd interface.

why not pass a universal ref T&& vs a const T&

most of your code is like this.

``` auto resp = HttpResponse::newHttpJsonResponse(json); callback(resp); ```

which means callback can reuse the buffer if it wanted to rather than making a copy because it's const ref.

PS: did you benchmark it against Folly/Proxygen (facebook) and Seastar

2 comments

For benchmarking I have submitted it to the famous TFB and I am waiting for the result of testing round 18. https://github.com/TechEmpower/FrameworkBenchmarks/tree/mast...
Good question! If the type of the parameter of callback is an r-reference, users must move resp into the callback. Note that the resp is a shared_ptr, which means callback can reuse the buffer or do anything to the resp object and copying smart pointers does not require too much cost.