The Go language implementation of gRPC. HTTP/2 based RPC
Go to file
Jan Tattermusch 0294ac816d Create ISSUE_TEMPLATE 2017-05-30 20:03:09 -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 Travis: add staticcheck (#1019) 2017-05-15 17:05:27 -07:00
codes Fixed comment spelling (#1254) 2017-05-22 13:13:07 -07:00
credentials Reuse Token for serviceAccount credentials (#1238) 2017-05-16 12:37:36 -07:00
examples Add doc and example for mocking streaming RPCs (#1230) 2017-05-19 13:36:45 -07:00
grpclb Pass custom dialer to balancer (#1205) 2017-05-11 10:10:19 -07:00
grpclog Use InfoDepth/FatalDepth in glogger.go 2016-11-29 12:51:42 -08:00
health pb.go file update 2016-10-28 12:37:56 -07:00
internal Remove test-only methods from grpc package. 2016-02-25 13:30:19 -08:00
interop Separate incoming and outgoing metadata in context 2017-04-07 11:54:56 -07:00
keepalive Fix doc 2017-05-04 10:30:28 -07:00
metadata Address the comments 2017-05-04 16:29:17 -07:00
naming Fix some small comments 2016-05-26 15:11:33 -07:00
peer Fix doc 2017-05-04 10:30:28 -07:00
reflection Use proto.Equal for equalities on Go proto messages (#1204) 2017-04-27 10:19:45 -07:00
stats Add stats test for client streaming and server streaming RPCs (#1140) 2017-05-11 11:58:13 -07:00
status Fix nil pointer dereferences from status.FromProto(nil) (#1211) 2017-04-28 14:28:53 -07:00
stress Wait until all rpcs are done instead of a hard stop. 2016-12-28 11:59:08 -08:00
tap Support transport tap 2016-11-03 14:21:24 -07:00
test re-enable handler_server in end2end test, and fix some failed tests (#1259) 2017-05-26 08:26:41 -07:00
testdata Updating the test SSL certs. 2015-11-11 14:50:21 -08:00
transport re-enable handler_server in end2end test, and fix some failed tests (#1259) 2017-05-26 08:26:41 -07:00
.travis.yml Travis: add staticcheck (#1019) 2017-05-15 17:05:27 -07:00
CONTRIBUTING.md Add instructions to CONTRIBUTING.md 2016-03-24 13:55:06 -07:00
LICENSE grpc-go initial commit 2015-02-05 17:14:05 -08:00
Makefile Add comment for proto in Makefile 2016-06-09 14:40:28 -07:00
PATENTS Fix remaining instances of gRPC spelling. 2016-06-02 18:00:07 -07:00
README.md Defined GA and add pointer to benchmarks (#1239) 2017-05-15 14:12:16 -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 Pass custom dialer to balancer (#1205) 2017-05-11 10:10:19 -07:00
balancer_test.go Add TestOneConnectionRemoval 2016-08-16 15:48:05 -07:00
call.go remove some todo comments 2017-05-19 14:55:35 -07:00
call_test.go Change status package to deal with concrete types instead of interfaces (#1171) 2017-04-06 11:41:07 -07:00
clientconn.go Merge pull request #1165 from lyuxuan/service_config_pr 2017-05-22 11:15:26 -07:00
clientconn_test.go Travis: add staticcheck (#1019) 2017-05-15 17:05:27 -07:00
codec.go Reset proto before unmarshalling (#1222) 2017-05-05 13:23:47 -07:00
codec_benchmark_test.go use proto.Buffer API for protobuf codec and cache proto.Buffer structs (#1010) 2017-04-12 20:35:59 -07:00
codec_test.go use proto.Buffer API for protobuf codec and cache proto.Buffer structs (#1010) 2017-04-12 20:35:59 -07: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 Avoid panic caused by stdlib context package errors (#1258) 2017-05-24 16:01:38 -07:00
go17.go Avoid panic caused by stdlib context package errors (#1258) 2017-05-24 16:01:38 -07:00
grpclb.go grpclb balancer.Close() should not panic if called more than once (#1250) 2017-05-19 15:44:37 -07:00
interceptor.go Fix doc 2017-05-04 10:30:28 -07:00
proxy.go Support proxy with dialer (#1098) 2017-04-17 16:08:50 -07:00
proxy_test.go call listen with "localhost:port" instead of ":port" in tests (#1237) 2017-05-15 12:43:49 -07:00
rpc_util.go Avoid panic caused by stdlib context package errors (#1258) 2017-05-24 16:01:38 -07:00
rpc_util_test.go Expand stream's flow control in case of an active read. (#1248) 2017-05-23 11:39:15 -07:00
server.go Merge pull request #1165 from lyuxuan/service_config_pr 2017-05-22 11:15:26 -07:00
server_test.go relax the checking on error string 2017-03-02 15:21:41 -08:00
stream.go minor fix 2017-05-19 16:38:37 -07:00
trace.go Fix golint errors 2016-06-01 16:40:26 -07: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 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