The Go language implementation of gRPC. HTTP/2 based RPC
Go to file
dfawley 84cd50a2f3 Fix nil pointer dereferences from status.FromProto(nil) (#1211) 2017-04-28 14:28:53 -07:00
Documentation Separate incoming and outgoing metadata in context 2017-04-07 11:54:56 -07:00
benchmark get more metrics from go benchmark servers (#913) 2017-04-03 15:53:03 -07:00
codes Run stringer on codes.Code 2015-03-24 10:15:18 -07:00
credentials add document to ClientHandshake about returning temporary error (#1125) 2017-03-28 11:12:50 -07:00
examples Fix broken Markdown headings in examples/gotutorial.md (#1189) 2017-04-18 10:54:52 -07:00
grpclb Split grpclb client load report test to deflake test. (#1206) 2017-04-28 12:06:45 -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 Implementation for server enforcement of keepalive policy. (#1147) 2017-03-31 11:37:51 -07:00
metadata Never encode binary metadata within the metadata map (#1188) 2017-04-28 10:56:58 -07:00
naming Fix some small comments 2016-05-26 15:11:33 -07:00
peer test peer addr 2016-01-06 19:04:19 -08:00
reflection Use proto.Equal for equalities on Go proto messages (#1204) 2017-04-27 10:19:45 -07:00
stats Move handling stats.End to clientStream.finish() (#1182) 2017-04-12 11:55:54 -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 Never encode binary metadata within the metadata map (#1188) 2017-04-28 10:56:58 -07:00
testdata Updating the test SSL certs. 2015-11-11 14:50:21 -08:00
transport Use unpadded base64 encoding for binary metadata headers; handle padded or unpadded input (#1209) 2017-04-28 11:32:27 -07:00
.travis.yml Revert "temporary disable 1.6 on travis (#1198)" (#1199) 2017-04-24 11:16:03 -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 Fix markdown in README.md (#1180) 2017-04-11 23:39:30 -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 grpclb: Support DropRequest 2016-10-18 18:08:32 -07:00
balancer_test.go Add TestOneConnectionRemoval 2016-08-16 15:48:05 -07:00
call.go Client load report for grpclb. (#1200) 2017-04-27 10:43:38 -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 Client load report for grpclb. (#1200) 2017-04-27 10:43:38 -07:00
clientconn_test.go Client should update keepalive parameters upon receiving GoAway with … (#1169) 2017-04-10 14:33:51 -07:00
codec.go use proto.Buffer API for protobuf codec and cache proto.Buffer structs (#1010) 2017-04-12 20:35:59 -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 Support proxy with dialer (#1098) 2017-04-17 16:08:50 -07:00
go17.go Support proxy with dialer (#1098) 2017-04-17 16:08:50 -07:00
grpclb.go Client load report for grpclb. (#1200) 2017-04-27 10:43:38 -07:00
interceptor.go Fix typo in interceptor.go (#1172) 2017-04-06 13:50:23 -07:00
proxy.go Support proxy with dialer (#1098) 2017-04-17 16:08:50 -07:00
proxy_test.go Support proxy with dialer (#1098) 2017-04-17 16:08:50 -07:00
rpc_util.go Client load report for grpclb. (#1200) 2017-04-27 10:43:38 -07:00
rpc_util_test.go Change status package to deal with concrete types instead of interfaces (#1171) 2017-04-06 11:41:07 -07:00
server.go fix comments 2017-04-06 17:28:41 -07:00
server_test.go relax the checking on error string 2017-03-02 15:21:41 -08:00
stream.go Client load report for grpclb. (#1200) 2017-04-27 10:43:38 -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.

Status

GA

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