The Go language implementation of gRPC. HTTP/2 based RPC
Go to file
mmukhi a5d184a8a1 Expose ConnectivityState of a ClientConn. (#1385) 2017-07-24 15:00:53 -07:00
.github Create ISSUE_TEMPLATE 2017-05-30 20:03:09 -07:00
Documentation Canonicalize https://grpc.io as the preferred URL prefix 2017-07-10 16:28:39 -07:00
benchmark benchmark: remove multi-layer for loop (#1339) 2017-07-21 13:39:06 -07:00
codes autofix license notice 2017-06-08 14:42:19 +02:00
credentials autofix license notice 2017-06-08 14:42:19 +02:00
examples Fix a typo in examples/gotutorial.md (#1374) 2017-07-17 10:25:45 -07:00
grpclb replace 127.0.0.1 with localhost for ipv6 only environment (#1306) 2017-06-14 15:03:04 -07:00
grpclog Add doc in default implementation fatal functions on os.Exit() (#1365) 2017-07-21 09:39:31 -07:00
health add license for some proto files (#1322) 2017-06-27 09:54:34 -07:00
internal autofix license notice 2017-06-08 14:42:19 +02:00
interop add license for some proto files (#1322) 2017-06-27 09:54:34 -07:00
keepalive autofix license notice 2017-06-08 14:42:19 +02:00
metadata Canonicalize https://grpc.io as the preferred URL prefix 2017-07-10 16:28:39 -07:00
naming autofix license notice 2017-06-08 14:42:19 +02:00
peer autofix license notice 2017-06-08 14:42:19 +02:00
reflection add license for some proto files (#1322) 2017-06-27 09:54:34 -07:00
stats add license for some proto files (#1322) 2017-06-27 09:54:34 -07:00
status status: Add WithDetails and Details functions (#1358) 2017-07-24 14:42:24 -07:00
stress autofix license notice 2017-06-08 14:42:19 +02:00
tap autofix license notice 2017-06-08 14:42:19 +02:00
test Expose ConnectivityState of a ClientConn. (#1385) 2017-07-24 15:00:53 -07:00
testdata Updating the test SSL certs. 2015-11-11 14:50:21 -08:00
transport transport: fix minor typo in http2_server.go (#1383) 2017-07-21 10:58:12 -07:00
.travis.yml Travis: add staticcheck (#1019) 2017-05-15 17:05:27 -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 benchmark: add latency/MTU/bandwidth into testcases (#1304) 2017-06-23 14:22: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 Use log severity and verbosity level (#1340) 2017-07-13 12:10:19 -07:00
balancer_test.go replace 127.0.0.1 with localhost for ipv6 only environment (#1306) 2017-06-14 15:03:04 -07:00
call.go autofix license notice 2017-06-08 14:42:19 +02:00
call_test.go autofix license notice 2017-06-08 14:42:19 +02:00
clientconn.go Expose ConnectivityState of a ClientConn. (#1385) 2017-07-24 15:00:53 -07:00
clientconn_test.go Expose ConnectivityState of a ClientConn. (#1385) 2017-07-24 15:00:53 -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 Canonicalize https://grpc.io as the preferred URL prefix 2017-07-10 16:28:39 -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 Use log severity and verbosity level (#1340) 2017-07-13 12:10:19 -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 Change version to 1.6.x (#1382) 2017-07-20 13:19:54 -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 Use log severity and verbosity level (#1340) 2017-07-13 12:10:19 -07:00
server_test.go autofix license notice 2017-06-08 14:42:19 +02:00
stream.go Populate callInfo.peer object for streaming RPCs (#1356) 2017-07-11 13:56:13 -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