A message passing platform for Go
Switch branches/tags
Clone or download
Permalink
Failed to load latest commit information.
.buildkite buildkite: Propagate GITHUB_EMAIL to Docker (#1525) Jul 16, 2018
.github Add Github PR template (#1196) Jul 12, 2017
api Match Transport field in RequestMatcher (#1550) Aug 27, 2018
encoding Update dependencies on 2018-10-19T15:06:58 (#1603) Oct 19, 2018
etc Expose grpc/proto reflection information in generated code (#1559) Oct 11, 2018
internal Update dependencies on 2018-10-19T15:06:58 (#1603) Oct 19, 2018
peer Randomize insertion order for fewest-pending-heap (#1608) Nov 13, 2018
pkg Run make generate to update license headers to 2018 (#1403) Jan 2, 2018
serialize Update dependencies on 2018-10-19T15:06:58 (#1603) Oct 19, 2018
transport Revert "Intercepting low-level connection FIN packets" (#1631) Nov 6, 2018
x Add retry to HTTP/TChannel/GRPCRequest for testing purposes (#1540) Aug 7, 2018
yarpcconfig Add v2 of peerlist Jul 31, 2018
yarpcerrors Add documentation to yarpcerrors.Code to note that the Codes match gR… Feb 8, 2018
yarpcproto Update generated code at 2018-07-18T15:03:42 Jul 19, 2018
yarpctest hotfix: Address data races in yarpctest.FakeTransport (#1542) Aug 8, 2018
.codecov.yml Add thrift.Named option to fix inherited procedure names (#1482) Oct 1, 2018
.dockerignore Add tls.Config options for gRPC client and server (#1496) Aug 2, 2018
.gitignore Add tls.Config options for gRPC client and server (#1496) Aug 2, 2018
CHANGELOG.md Back to development Nov 6, 2018
CODE_OF_CONDUCT.md Add a code of conduct (#1439) Feb 19, 2018
Dockerfile.1.10 Move from Golang 1.8/1.9 to 1.9/1.10 (#1453) Mar 13, 2018
Dockerfile.1.9 Move from Golang 1.8/1.9 to 1.9/1.10 (#1453) Mar 13, 2018
LICENSE license Mar 29, 2016
Makefile Delete docker-compose crossdock testing (#1368) Nov 27, 2017
README.md build: Switch to BuildKite (#1478) Apr 24, 2018
RELEASE.md RELEASE.md: Pull Request-based flow (#1576) Oct 2, 2018
ack.go Run make generate to update license headers to 2018 (#1403) Jan 2, 2018
bench_test.go Log panics using *zap.Logger, when available (#1479) Jul 5, 2018
call.go Revert additional transport.Request and Response fields (#1537) Aug 2, 2018
call_test.go Revert additional transport.Request and Response fields (#1537) Aug 2, 2018
client_config.go Run make generate to update license headers to 2018 (#1403) Jan 2, 2018
config.go yarpc.Config: Option to disable observability middleware (#1421) Mar 2, 2018
dispatcher.go Dispatcher: Expose configured outbounds (#1498) Jul 5, 2018
dispatcher_example_test.go Run make generate to update license headers to 2018 (#1403) Jan 2, 2018
dispatcher_startup.go Expose phased dispatcher start & stop (#1456) Mar 20, 2018
dispatcher_test.go Dispatcher: Expose configured outbounds (#1498) Jul 5, 2018
doc.go Run make generate to update license headers to 2018 (#1403) Jan 2, 2018
docker-compose.yml buildkite: Update dependencies automatically Apr 16, 2018
dockerdeps.mk Move build to etc/make and scripts to etc/bin (#1193) Jul 9, 2017
errors.go Run make generate to update license headers to 2018 (#1403) Jan 2, 2018
errors_test.go Run make generate to update license headers to 2018 (#1403) Jan 2, 2018
glide.lock Update dependencies at 2018-11-16T15:03:21 Nov 16, 2018
glide.yaml updating gogo/protobuf from v0.5 to v1.0.0 (#1517) Jul 5, 2018
header.go Run make generate to update license headers to 2018 (#1403) Jan 2, 2018
header_test.go Run make generate to update license headers to 2018 (#1403) Jan 2, 2018
inject.go Run make generate to update license headers to 2018 (#1403) Jan 2, 2018
inject_test.go Run make generate to update license headers to 2018 (#1403) Jan 2, 2018
introspection.go Run make generate to update license headers to 2018 (#1403) Jan 2, 2018
middleware.go Run make generate to update license headers to 2018 (#1403) Jan 2, 2018
middleware_test.go Run make generate to update license headers to 2018 (#1403) Jan 2, 2018
router.go Improve error message for unrecognized service names (#1510) Jul 5, 2018
router_test.go Improve error message for unrecognized service names (#1510) Jul 5, 2018
tracing.go Run make generate to update license headers to 2018 (#1403) Jan 2, 2018
version.go Back to development Nov 6, 2018

README.md

yarpc GoDoc GitHub release Mit License Build Status Coverage Status

A message passing platform for Go that lets you:

  • Write servers and clients with various encodings, including JSON, Thrift, and Protobuf.
  • Expose servers over many transports simultaneously, including HTTP/1.1, gRPC, and TChannel.
  • Migrate outbound calls between transports without any code changes using config.

Installation

We recommend locking to SemVer range ^1 using Glide:

glide get 'go.uber.org/yarpc#^1'

Stability

This library is v1 and follows SemVer strictly.

No breaking changes will be made to exported APIs before v2.0.0 with the exception of experimental packages.

Experimental packages reside within packages named x, and are not stable. This means their APIs can break at any time. The intention here is to validate these APIs and iterate on them by working closely with internal customers. Once stable, their contents will be moved out of the containing x package and their APIs will be locked.