The Go language implementation of gRPC. HTTP/2 based RPC
Go to file
ZhouyihaiDing 2308131c44 addrConn: change address to slice of address (#1376)
* addrConn: change address to slice of address
* add pickfirst balancer to test new addrconn
2017-08-21 12:27:04 -07:00
.github Create ISSUE_TEMPLATE 2017-05-30 20:03:09 -07:00
Documentation Use `NewOutgoingContext ` in the metadata doc (#1425) 2017-08-04 13:14:02 -07:00
benchmark go-generate pb.go files and check in Travis to make sure they don't change (#1426) 2017-08-17 16:00:51 -07:00
codes go-generate pb.go files and check in Travis to make sure they don't change (#1426) 2017-08-17 16:00:51 -07:00
connectivity Add and use connectivity package for states (#1430) 2017-08-09 10:31:12 -07:00
credentials Add testdata package and unify testdata to only one dir (#1297) 2017-07-25 10:24:45 -07:00
examples go-generate pb.go files and check in Travis to make sure they don't change (#1426) 2017-08-17 16:00:51 -07:00
grpclb go-generate pb.go files and check in Travis to make sure they don't change (#1426) 2017-08-17 16:00:51 -07:00
grpclog Fix missing and wrong license (#1422) 2017-08-04 13:46:18 -07:00
health go-generate pb.go files and check in Travis to make sure they don't change (#1426) 2017-08-17 16:00:51 -07:00
internal autofix license notice 2017-06-08 14:42:19 +02:00
interop go-generate pb.go files and check in Travis to make sure they don't change (#1426) 2017-08-17 16:00:51 -07:00
keepalive autofix license notice 2017-06-08 14:42:19 +02:00
metadata metadata: Remove NewContext and FromContext for gRFC L7 (#1392) 2017-08-17 13:10:28 -07:00
naming Fix missing and wrong license (#1422) 2017-08-04 13:46:18 -07:00
peer autofix license notice 2017-06-08 14:42:19 +02:00
reflection go-generate pb.go files and check in Travis to make sure they don't change (#1426) 2017-08-17 16:00:51 -07:00
stats go-generate pb.go files and check in Travis to make sure they don't change (#1426) 2017-08-17 16:00:51 -07:00
status status: Add WithDetails and Details functions (#1358) 2017-07-24 14:42:24 -07:00
stress go-generate pb.go files and check in Travis to make sure they don't change (#1426) 2017-08-17 16:00:51 -07:00
tap Update ServerInHandle comments (#1437) 2017-08-14 10:05:02 -07:00
test go-generate pb.go files and check in Travis to make sure they don't change (#1426) 2017-08-17 16:00:51 -07:00
testdata Add testdata package and unify testdata to only one dir (#1297) 2017-07-25 10:24:45 -07:00
transport Fix host string passed to PerRPCCredentials (#1433) 2017-08-17 15:59:03 -07:00
.travis.yml go-generate pb.go files and check in Travis to make sure they don't change (#1426) 2017-08-17 16:00:51 -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 Make Apache 2.0 LICENSE file a verbatim copy (#1329) 2017-06-21 10:20:47 -07:00
Makefile go-generate pb.go files and check in Travis to make sure they don't change (#1426) 2017-08-17 16:00:51 -07:00
README.md Canonicalize https://grpc.io as the preferred URL prefix 2017-07-10 16:28:39 -07:00
backoff.go add license for some files (#1296) 2017-06-12 18:10:06 -07:00
backoff_test.go add license for some files (#1296) 2017-06-12 18:10:06 -07:00
balancer.go addrConn: change address to slice of address (#1376) 2017-08-21 12:27:04 -07:00
balancer_test.go addrConn: change address to slice of address (#1376) 2017-08-21 12:27:04 -07:00
call.go Set peer before sending request (#1423) 2017-08-07 10:39:34 -07:00
call_test.go autofix license notice 2017-06-08 14:42:19 +02:00
clientconn.go addrConn: change address to slice of address (#1376) 2017-08-21 12:27:04 -07:00
clientconn_test.go Add and use connectivity package for states (#1430) 2017-08-09 10:31:12 -07:00
codec.go add license for some files (#1296) 2017-06-12 18:10:06 -07: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 missing and wrong license (#1422) 2017-08-04 13:46:18 -07:00
go16.go adjust import order (#1311) 2017-07-05 09:03:39 -07:00
go17.go adjust import order (#1311) 2017-07-05 09:03:39 -07:00
grpclb.go go-generate pb.go files and check in Travis to make sure they don't change (#1426) 2017-08-17 16:00:51 -07:00
install-protobuf.sh go-generate pb.go files and check in Travis to make sure they don't change (#1426) 2017-08-17 16:00:51 -07: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 put *gzip.Writer back to pool (#1441) 2017-08-14 15:23:10 -07:00
rpc_util_test.go Behaviour Change: transport errors should be coded Unavailable instead of internal. (#1307) 2017-06-14 14:21:20 -07:00
server.go Automatic WriteStatus for RecvMsg/SendMsg error on server side (#1409) 2017-08-14 12:24:23 -07:00
server_test.go autofix license notice 2017-06-08 14:42:19 +02:00
stream.go Automatic WriteStatus for RecvMsg/SendMsg error on server side (#1409) 2017-08-14 12:24:23 -07: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