A high performance, open source, general-purpose RPC framework and library.
Remote Procedure Calls (RPCs) provide a useful abstraction for building distributed applications and services. The libraries in this repository provide a concrete implementation of the gRPC protocol, layered over HTTP/2. These libraries enable communication between clients and servers using any combination of the supported languages.
- By default, gRPC uses Protocol Buffers as the Interface Definition Language (IDL) for describing both the service interface and the structure of the payload messages. It is possible to use other alternatives if desired.
- The gRPC programming surface in most languages comes in both synchronous and asynchronous flavors.
- gRPC supports streaming semantics, where either the client or the server (or both) send a stream of messages on a single RPC call. The most general case is Bidirectional Streaming where a single gRPC call establishes a stream where both the client and the server can send a stream of messages to each other. The streamed messages are delivered in the order they were sent.
- gRPC inherits the flow control mechanisms in HTTP/2 and uses them to enable fine-grained control of the amount of memory used for buffering in-flight messages.
SDK for Apple
Switch from OpenSSL to BoringSSL as the default SSL stack.
Support building backwards compatible .so’s on Linux with modern toolchains.
Fixed compilation on 32bit linux.
Support for VS2015 is now continuously tested.
Support for Windows 64bit (VS2013, VS2015).
Internal security cleanup.
New API to overwrite default SSL roots.
Fix Windows bug capping throughput to 1qps.
Expanded metadata key allowable values to include ‘.’