The Go language implementation of gRPC. HTTP/2 based RPC
Go to file
Tamir Duberstein 3773797869 Travis: add staticcheck (#1019)
Also only run golint and go vet in Go 1.8, and fix some vet failures.
2017-05-15 17:05:27 -07:00
Documentation Fix go buildable source file problem (#1213) 2017-05-02 15:55:05 -07:00
benchmark Travis: add staticcheck (#1019) 2017-05-15 17:05:27 -07:00
codes Run stringer on codes.Code 2015-03-24 10:15:18 -07:00
credentials Fix doc 2017-05-04 10:30:28 -07:00
examples Fix go buildable source file problem (#1213) 2017-05-02 15:55:05 -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 Travis: add staticcheck (#1019) 2017-05-15 17:05:27 -07:00
testdata Updating the test SSL certs. 2015-11-11 14:50:21 -08:00
transport fix server panic trying to send on stream as client disconnects #1111 (#1115) 2017-05-15 12:41:55 -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 Adding dial options for PerRPCCredentials (#1225) 2017-05-11 11:07: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 Pass custom dialer to balancer (#1205) 2017-05-11 10:10:19 -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 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 add logs to grpclb on send and recv (#1235) 2017-05-12 14:05:32 -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 Adding dial options for PerRPCCredentials (#1225) 2017-05-11 11:07:38 -07:00
rpc_util_test.go Use pooled gzip.{Writer,Reader} in gzip{Compressor,Decompressor} (#1217) 2017-05-10 16:40:25 -07:00
server.go Travis: add staticcheck (#1019) 2017-05-15 17:05:27 -07:00
server_test.go relax the checking on error string 2017-03-02 15:21:41 -08:00
stream.go Adding dial options for PerRPCCredentials (#1225) 2017-05-11 11:07: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.

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