The Go language implementation of gRPC. HTTP/2 based RPC
Go to file
Tamir Duberstein 036dca28a6 transport: replace isItem with a marker method
Also changes the receivers to pointers because:
- Implementing an interface using value receivers causes both pointers
and values to implement that interface; implementing an interface using
pointer receivers causes only pointers to implement the interface,
thereby providing better type safety.
- Wrapping any value other than an empty struct in an interface causes
the value to be heap-allocated; no additional allocations are therefore
caused by this change.
2016-04-02 21:39:09 -04:00
Documentation Add metadata documentation 2016-03-29 11:00:44 -07:00
benchmark `make proto` 2016-02-04 17:35:04 -05:00
codes Run stringer on codes.Code 2015-03-24 10:15:18 -07:00
credentials Remove context related functions in credentials 2016-01-06 18:26:33 -08:00
examples Run gofmt over Go source files. 2016-03-16 15:11:58 +11:00
grpclog Comment: explain concurrent access to grpclog.logger 2016-02-01 15:07:17 -05:00
health change health check package name 2016-02-18 13:10:06 -08:00
internal Remove test-only methods from grpc package. 2016-02-25 13:30:19 -08:00
interop `make proto` 2016-02-04 17:35:04 -05:00
metadata fix some print format errors 2015-12-16 11:36:52 -08:00
naming revise naming package a bit 2015-12-11 11:06:14 -08:00
peer test peer addr 2016-01-06 19:04:19 -08:00
test fix a test error msg 2016-03-30 11:10:27 -07:00
testdata Updating the test SSL certs. 2015-11-11 14:50:21 -08:00
transport transport: replace isItem with a marker method 2016-04-02 21:39:09 -04:00
.travis.yml Merge pull request #604 from broady/travis 2016-03-28 23:15:11 -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 Update Makefile. 2016-03-29 00:05:04 +02:00
PATENTS Create PATENTS 2015-02-26 15:10:08 -08:00
README.md revise wording 2016-03-28 15:44:29 -07:00
call.go make comment on invoke/sendmsg more clear 2016-04-01 10:47:25 -07:00
call_test.go Don't treat StatusDesc() as a format string. 2016-03-19 17:15:21 -07:00
clientconn.go minor cleanup: simplify looping 2016-03-31 22:05:49 -04:00
clientconn_test.go move some tests from end2end.go to clientconn_test.go 2015-11-06 11:33:13 -08:00
codegen.sh Update codegen.sh 2015-06-24 11:34:49 +10:00
coverage.sh Allow HTML output for test coverage 2015-12-17 16:13:01 -08:00
doc.go fix the grpc website url 2016-02-19 11:56:12 -08:00
picker.go fix some print format errors 2015-12-16 11:36:52 -08:00
picker_test.go Fix more cases of Fatalf being used from goroutines started by tests. 2016-02-01 21:01:14 +00:00
rpc_util.go Use ErrorDetail() to provide better error msg for malformed HTTP2 2016-03-28 11:34:29 -07:00
rpc_util_test.go Fix crashes where transports returned errors unhandled by the message parser. 2016-02-24 15:09:17 -08:00
server.go Merge pull request #584 from bradfitz/h2 2016-03-02 10:59:35 -08:00
stream.go make comment on invoke/sendmsg more clear 2016-04-01 10:47:25 -07:00
trace.go refactor servier side trace again 2015-10-05 17:49:53 -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.5 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.

Status

Beta release