What is gRPC?
gRPC is a Google open-source project which provides efficient language-agnostic communication. It utilizes two key technologies: protocol buffers to provide efficient serialization for transmission, and http/2 for asynchronous communication. The result is highly efficient communication that enables off-platform applications to interact with ONOS with minimal cost.
Protocol Buffer guide (NOTE: we will be using proto3)
http/2 guide (RFC) (NOTE: only a basic understanding of http/2 is required to work on this)
Design Document (Currently draft)
Weekly meeting time is Tuesday from 10am to 11am Korea Standard Time (Monday 6pm - 7pm Pacific Standard Time).
Join the brigade for discussions on the gRPC mailing list at: https://groups.google.com/a/onosproject.org/forum/#!forum/brigade-grpc
gRPC will enable more ONOS apps to be moved off-platform consuming fewer system resources and providing a degree of isolation to reduce the chances of a fault in an application effecting the system as a whole.
Active Brigade Members:
Inactive Brigade Members:
Some service implemented, many models implemented.
We are seeking a group of 3 or 4 members.
Contact the brigade:
We have a google group which can be found here.
We also have a slack channel within ONOS slack.
- Support gRPC as a northbound interface.
- Create handcrafted message types to provide access to system services (similar to the current REST API's but with improved performance via HTTP/2 multiplexing and improved encoding efficiency).
- Create thorough test suites.
- Create language packs for other languages to enable use of more complicated models (i.e. topology)
- Add support for automatic code generation from ONOS service API's.
- Explore the possibility of enabling gRPC for East/West communication.
How to get involved:
Contact Jian at email@example.com (please include "gRPC" in the subject).