The Go language implementation of gRPC. HTTP/2 based RPC
Go Protocol Buffer Other
Latest commit 5095579 Jan 11, 2017 @MakMukhi MakMukhi committed with iamqizhao Debugging tests for AuthInfo (#1046)
* debug

* fix
Permalink
Failed to load latest commit information.
Documentation Merge pull request #937 from menghanl/reflection_tutorial Nov 30, 2016
benchmark pb.go file update Oct 28, 2016
codes Run stringer on codes.Code Mar 24, 2015
credentials Debugging tests for AuthInfo (#1046) Jan 11, 2017
examples Merge pull request #937 from menghanl/reflection_tutorial Nov 30, 2016
grpclb Grpclb: Support server list expiration (#962) Nov 16, 2016
grpclog Use InfoDepth/FatalDepth in glogger.go Nov 29, 2016
health pb.go file update Oct 28, 2016
internal Remove test-only methods from grpc package. Feb 25, 2016
interop call cancel on context in DoTimeoutOnSleepingServer Jan 5, 2017
metadata add more comments to metadata Fromcontext (#986) Nov 17, 2016
naming Fix some small comments May 26, 2016
peer test peer addr Jan 7, 2016
reflection fix golint Nov 15, 2016
stats Change stats APIs (#1030) Jan 10, 2017
stress Wait until all rpcs are done instead of a hard stop. Dec 28, 2016
tap Support transport tap Nov 3, 2016
test Add the initial service config support (#1009) Dec 20, 2016
testdata Updating the test SSL certs. Nov 11, 2015
transport Change stats APIs (#1030) Jan 10, 2017
.travis.yml Skip golint in go 1.5 Oct 7, 2016
CONTRIBUTING.md Add instructions to CONTRIBUTING.md Mar 24, 2016
LICENSE grpc-go initial commit Feb 6, 2015
Makefile Add comment for proto in Makefile Jun 9, 2016
PATENTS Fix remaining instances of gRPC spelling. Jun 3, 2016
README.md add note in readme pre-req section to get the latest go version Nov 10, 2016
backoff.go Removed the unused named return parameter of `BackoffConfig`'s `backo… Oct 10, 2016
backoff_test.go Revert "added two new testcases for backoff.go" Aug 9, 2016
balancer.go grpclb: Support DropRequest Oct 19, 2016
balancer_test.go Add TestOneConnectionRemoval Aug 16, 2016
call.go Change stats APIs (#1030) Jan 10, 2017
call_test.go fix wrong context when handling stats Nov 9, 2016
clientconn.go Change stats APIs (#1030) Jan 10, 2017
clientconn_test.go Add the initial service config support (#1009) Dec 20, 2016
codegen.sh FIX: use /usr/bin/env bash in shebang Dec 17, 2016
coverage.sh FIX: use /usr/bin/env bash in shebang Dec 17, 2016
doc.go fix the grpc website url Feb 19, 2016
interceptor.go Support client side interceptor Aug 26, 2016
rpc_util.go Add the initial service config support (#1009) Dec 20, 2016
rpc_util_test.go Add package stats, and export stats on server side. Nov 7, 2016
server.go Change stats APIs (#1030) Jan 10, 2017
server_test.go *: go vet Jul 28, 2016
stream.go Change stats APIs (#1030) Jan 10, 2017
trace.go Fix golint errors Jun 1, 2016

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.5 or later.

A note on the version used: significant performance improvements in benchmarks of grpc-go have been seen by upgrading the go version from 1.5 to the latest 1.7.1.

From https://golang.org/doc/install, one way to install the latest version of go is:

$ GO_VERSION=1.7.1
$ OS=linux
$ ARCH=amd64
$ curl -O https://storage.googleapis.com/golang/go${GO_VERSION}.${OS}-${ARCH}.tar.gz
$ sudo tar -C /usr/local -xzf go$GO_VERSION.$OS-$ARCH.tar.gz
$ # Put go on the PATH, keep the usual installation dir
$ sudo ln -s /usr/local/go/bin/go /usr/bin/go
$ rm go$GO_VERSION.$OS-$ARCH.tar.gz

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