The Go language implementation of gRPC. HTTP/2 based RPC
Go to file
ZhouyihaiDing ba30de56b8 use subtests for the benchmark_test and add it into the Makefile (#1278)
* use subtests for the benchmark_test and add it into the Makefile

* benchmark: keep the original benchmark_test as version 16. use subtests benchmark as 17
2017-06-12 14:52:33 -07:00
.github Create ISSUE_TEMPLATE 2017-05-30 20:03:09 -07:00
Documentation Add doc and example for mocking streaming RPCs (#1230) 2017-05-19 13:36:45 -07:00
benchmark use subtests for the benchmark_test and add it into the Makefile (#1278) 2017-06-12 14:52:33 -07:00
codes autofix license notice 2017-06-08 14:42:19 +02:00
credentials autofix license notice 2017-06-08 14:42:19 +02:00
examples autofix license notice 2017-06-08 14:42:19 +02:00
grpclb autofix license notice 2017-06-08 14:42:19 +02:00
grpclog autofix license notice 2017-06-08 14:42:19 +02:00
health pb.go file update 2016-10-28 12:37:56 -07:00
internal autofix license notice 2017-06-08 14:42:19 +02:00
interop autofix license notice 2017-06-08 14:42:19 +02:00
keepalive autofix license notice 2017-06-08 14:42:19 +02:00
metadata autofix license notice 2017-06-08 14:42:19 +02:00
naming autofix license notice 2017-06-08 14:42:19 +02:00
peer autofix license notice 2017-06-08 14:42:19 +02:00
reflection autofix license notice 2017-06-08 14:42:19 +02:00
stats autofix license notice 2017-06-08 14:42:19 +02:00
status autofix license notice 2017-06-08 14:42:19 +02:00
stress autofix license notice 2017-06-08 14:42:19 +02:00
tap autofix license notice 2017-06-08 14:42:19 +02:00
test Deflake TestFlowContolLogicalRace (#1279) 2017-06-08 12:54:42 -07:00
testdata Updating the test SSL certs. 2015-11-11 14:50:21 -08:00
transport autofix license notice 2017-06-08 14:42:19 +02:00
.travis.yml Travis: add staticcheck (#1019) 2017-05-15 17:05:27 -07:00
AUTHORS add AUTHORS and LICENSE 2017-06-08 14:37:28 +02:00
CONTRIBUTING.md Update CONTRIBUTING.md 2017-05-30 20:06:49 -07:00
LICENSE add AUTHORS and LICENSE 2017-06-08 14:37:28 +02:00
Makefile use subtests for the benchmark_test and add it into the Makefile (#1278) 2017-06-12 14:52:33 -07:00
README.md update the path of guide (#950) 2017-06-09 14:05:01 -07:00
backoff.go Removed the unused named return parameter of `BackoffConfig`'s `backoff` method. 2016-10-11 03:42:29 +09:00
backoff_test.go Revert "added two new testcases for backoff.go" 2016-08-09 14:17:02 -07:00
balancer.go autofix license notice 2017-06-08 14:42:19 +02:00
balancer_test.go autofix license notice 2017-06-08 14:42:19 +02:00
call.go autofix license notice 2017-06-08 14:42:19 +02:00
call_test.go autofix license notice 2017-06-08 14:42:19 +02:00
clientconn.go autofix license notice 2017-06-08 14:42:19 +02:00
clientconn_test.go autofix license notice 2017-06-08 14:42:19 +02:00
codec.go autofix license notice 2017-06-08 14:42:19 +02:00
codec_benchmark_test.go autofix license notice 2017-06-08 14:42:19 +02:00
codec_test.go autofix license notice 2017-06-08 14:42:19 +02:00
codegen.sh FIX: use /usr/bin/env bash in shebang 2016-12-17 20:45:30 +01:00
coverage.sh FIX: use /usr/bin/env bash in shebang 2016-12-17 20:45:30 +01:00
doc.go fix the grpc website url 2016-02-19 11:56:12 -08:00
go16.go autofix license notice 2017-06-08 14:42:19 +02:00
go17.go autofix license notice 2017-06-08 14:42:19 +02:00
grpclb.go autofix license notice 2017-06-08 14:42:19 +02:00
interceptor.go autofix license notice 2017-06-08 14:42:19 +02:00
proxy.go autofix license notice 2017-06-08 14:42:19 +02:00
proxy_test.go autofix license notice 2017-06-08 14:42:19 +02:00
rpc_util.go autofix license notice 2017-06-08 14:42:19 +02:00
rpc_util_test.go autofix license notice 2017-06-08 14:42:19 +02:00
server.go autofix license notice 2017-06-08 14:42:19 +02:00
server_test.go autofix license notice 2017-06-08 14:42:19 +02:00
stream.go autofix license notice 2017-06-08 14:42:19 +02:00
trace.go autofix license notice 2017-06-08 14:42:19 +02:00

README.md

gRPC-Go

Build Status GoDoc

The Go implementation of gRPC: A high performance, open source, general RPC framework that puts mobile and HTTP/2 first. For more information see the gRPC Quick Start: Go guide.

Installation

To install this package, you need to install Go and setup your Go workspace on your computer. The simplest way to install the library is to run:

$ go get google.golang.org/grpc

Prerequisites

This requires Go 1.6 or later.

Constraints

The grpc package should only depend on standard Go packages and a small number of exceptions. If your contribution introduces new dependencies which are NOT in the list, you need a discussion with gRPC-Go authors and consultants.

Documentation

See API documentation for package and API descriptions and find examples in the examples directory.

Performance

See the current benchmarks for some of the languages supported in this dashboard.

Status

General Availability Google Cloud Platform Launch Stages.

FAQ

Compiling error, undefined: grpc.SupportPackageIsVersion

Please update proto package, gRPC package and rebuild the proto files:

  • go get -u github.com/golang/protobuf/{proto,protoc-gen-go}
  • go get -u google.golang.org/grpc
  • protoc --go_out=plugins=grpc:. *.proto