-
We need to thread context from call to call, so that baggage can infect the entire call graph. We can accomplish this by shadowing the ctx variable in scope. The RPC library can implicitly merge reque…
-
We should blowup if a timeout hasn't been set on a context, like tchannel currently does:
```
tchannel.SystemError{code:0x6, msg:"timeout required", wrapped:error(nil)}
```
Instead of leaking the TC…
-
These request properties need to be carried by ReqMeta and placed in either TChannel transport headers or HTTP RPC- prefixed headers.
-
A common pattern for using YARPC is,
``` go
type myHandler struct {
KeyValue keyvalueclient.Interface
AnotherService anotherserviceclient.Interface
}
// and then
handler := myHandler{
K…
-
I [added Go 1.7 to my .travis.yml](https://travis-ci.org/yarpc/yarpc-go/jobs/142840909) file on several projects, assuming things were working.
Looks like I was wrong, the actual version of Go being …
-
Consider the following situation:
- client build a request context with a deadline of X
- client calls server method with the context
- server is doing stuff that reaches the original deadline
We hav…
-
We'll need a `yarpctest` package with:
``` go
type FakeReqMetaBuilder
func NewFakeReqMetaBuilder(context.Context) *FakeReqMetaBuilder
func (*FakeReqMetaBuilder) Encoding(transport.Encoding) *FakeRe…
-
The code in https://github.com/yarpc/yarpc-go/tree/master/crossdock/client/behavior is for integrating with crossdock, allowing writing behaviors similar to a test framework. I think we should port th…
-
I have a project which doesn't have any dependencies except for Ginkgo and Gomega for tests. My glide.yaml is (placeholder `package_path` since this is a private repo):
``` yaml
package:
import: []
…
-
Right now, we're letting panics bubble up to the HTTP/TChannel server. We should catch them and translate them to unexpected errors.
We'll want to log the stack trace in case of panics.