Github user dcelasun commented on the issue: https://github.com/apache/thrift/pull/1459 > I personally think dropping go1.6/x/net/context support is best for the project. Are you the right person to make that call? Sounds good to me, but we need to run it by someone with commit bits. cc @Jens-G @jeking3 > Related question: why was 'context support' added when it doesn't seem to be hooked up to anything in the library? Seems like the method signatures were the only thing that changed. It was added to support passing arbitrary values into RPC handlers. One of the big use cases was accessing client IP from an RPC handler. Before `context`, this was impossible since the underlying transport was not visible to the handler. Now, you can implement a custom `TProcessor` that embeds the generated processor, and pass the IP manually, something like: ```go type MyProcessor struct { *GeneratedProcessor } func (p *MyProcessor) Process(ctx context.Context, in, out TProtocol) (bool, TException) { name, _, seqId, err := iprot.ReadMessageBegin() if err != nil { return false, err } if processor, ok := p.GetProcessorFunction(name); ok { //TODO: get IP from transport and add to ctx return processor.Process(ctx, seqId, iprot, oprot) } // rest of it... } } ```
---