You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
root beccf3fe43 init 7 years ago
..
Documentation init 7 years ago
balancer init 7 years ago
benchmark init 7 years ago
binarylog/grpc_binarylog_v1 init 7 years ago
channelz init 7 years ago
codes init 7 years ago
connectivity init 7 years ago
credentials init 7 years ago
encoding init 7 years ago
examples init 7 years ago
grpclb init 7 years ago
grpclog init 7 years ago
health init 7 years ago
internal init 7 years ago
interop init 7 years ago
keepalive init 7 years ago
metadata init 7 years ago
naming init 7 years ago
peer init 7 years ago
reflection init 7 years ago
resolver init 7 years ago
stats init 7 years ago
status init 7 years ago
stress init 7 years ago
tap init 7 years ago
test init 7 years ago
testdata init 7 years ago
transport init 7 years ago
CONTRIBUTING.md init 7 years ago
LICENSE init 7 years ago
Makefile init 7 years ago
README.md init 7 years ago
backoff.go init 7 years ago
balancer.go init 7 years ago
balancer_conn_wrappers.go init 7 years ago
balancer_switching_test.go init 7 years ago
balancer_test.go init 7 years ago
balancer_v1_wrapper.go init 7 years ago
call.go init 7 years ago
call_test.go init 7 years ago
clientconn.go init 7 years ago
clientconn_state_transition_test.go init 7 years ago
clientconn_test.go init 7 years ago
codec.go init 7 years ago
codec_test.go init 7 years ago
dialoptions.go init 7 years ago
doc.go init 7 years ago
go.mod init 7 years ago
go.sum init 7 years ago
interceptor.go init 7 years ago
picker_wrapper.go init 7 years ago
picker_wrapper_test.go init 7 years ago
pickfirst.go init 7 years ago
pickfirst_test.go init 7 years ago
proxy.go init 7 years ago
proxy_test.go init 7 years ago
resolver_conn_wrapper.go init 7 years ago
resolver_conn_wrapper_test.go init 7 years ago
rpc_util.go init 7 years ago
rpc_util_test.go init 7 years ago
server.go init 7 years ago
server_test.go init 7 years ago
service_config.go init 7 years ago
service_config_test.go init 7 years ago
stream.go init 7 years ago
trace.go init 7 years ago
version.go init 7 years ago

README.md

gRPC-Go

Build Status GoDoc GoReportCard

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 -u google.golang.org/grpc

Prerequisites

gRPC-Go requires Go 1.9 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

How to turn on logging

The default logger is controlled by the environment variables. Turn everything on by setting:

GRPC_GO_LOG_VERBOSITY_LEVEL=99 GRPC_GO_LOG_SEVERITY_LEVEL=info

The RPC failed with error "code = Unavailable desc = transport is closing"

This error means the connection the RPC is using was closed, and there are many possible reasons, including:

  1. mis-configured transport credentials, connection failed on handshaking
  2. bytes disrupted, possibly by a proxy in between
  3. server shutdown

It can be tricky to debug this because the error happens on the client side but the root cause of the connection being closed is on the server side. Turn on logging on both client and server, and see if there are any transport errors.