Skip to content
forked from ydmao/fastrpc

A fast C++ RPC library using Protocol Buffer syntax

License

Notifications You must be signed in to change notification settings

vuminh88/fastrpc

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

fastrpc

fastrpc is a RPC library for C++. It is derived from the RPC library of an old version of pequod (https://github.com/bryankate/pequod). The initial version was created collaboratively with Eddie Kohler, Bryan Ford, Neha Narula, Robert Morris and Michael Kester.

Features

Programmers use Protocol Buffer to specify rpc, services, and messages. fastrpc uses its own plugin to generate serialization/deserialization code, stubs for rpc server and rpc clients.

fastrpc supports asynchronous and batching clients/servers. It uses libev to handle asynchronous RPC.

fastrpc supports both blocking and non-blocking RPC. With non-blocking RPC, the string fields of RPC messages share the string buffer with the transport layer.

fastrpc also supports synchronous RPC.

fastrpc supports both TCP network stack and Infiniband stack. On Infiniband, fastrpc achieves ~10us latency.

Performance and Usage

See https://github.com/ydmao/fastrpctest about how to integrate fastrpc with your own project.

About

A fast C++ RPC library using Protocol Buffer syntax

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 98.7%
  • Makefile 1.3%