This event has ended. View the official site or create your own event → Check it out
This event has ended. Create your own
View analytic
Wednesday, May 17 • 5:20pm - 6:05pm
An easy to use RPC framework implemented in C++11/14

Log in to save this to your schedule and see who's attending!

Feedback form is now closed.
I want to introduce rest_rpc, a new approach to RPC libraries that shows off the power of modern C++.

The compelling value proposition of the rest_rpc framework is its focus on simplifying the calling code. Callers stay focused on business logic and spend no time on networking issues or data packing and unpacking.

We'll start with very short examples of simple, but complete client/server applications that communicate using rest_rpc on both client and server. We'll build on these to show more complicated examples that introduce more advanced, but still easy to use features.

I'll also discuss how I implemented some of the challenges I faced creating a library that is caller friendly, but type-safe at compile time and efficient at runtime. Among these challenges are:
*) How to register callback of any signature (using variadic templates and type erasure)
*) How to verify that RPC parameters are type correct at compile-time instead of just run-time.
*) How to support all types of callers (I use SFINAE, type_traits, variadic templates, and generic lambdas to create a bind that is stronger than Boost.Bind for smart pointers, raw pointers, and function objects)
*) How to hide the details of serialization and networking (utilizing meta data to avoid defining a protocol file)
*) How to route requests to the correct handler (using a metaprogramming trick to transform string arguments to real arguments)

The repository is here: https://github.com/topcpporg/rest_rpc

avatar for Yu Qi

Yu Qi

Senior Software Engineer, FiberHome
Yu is a C++ programmer with 10 years experience who lives in Zhuhai, Guangdong province, China. He loves modern C++ and has founded an open source community ( http://www.purecpp.org/ ) to promote C++11/14 in China. His focus is distributed systems and he is the author of rest_rp... Read More →

Wednesday May 17, 2017 5:20pm - 6:05pm
Hudson Commons

Attendees (32)