Jens Geyer created THRIFT-6263:
----------------------------------

             Summary: Go: TZlibTransportFactory has no constructor that takes a 
TConfiguration
                 Key: THRIFT-6263
                 URL: https://issues.apache.org/jira/browse/THRIFT-6263
             Project: Thrift
          Issue Type: Improvement
          Components: Go - Library
            Reporter: Jens Geyer


The Go transport factories that can carry a configuration all offer a 
{{...Conf}} constructor:

* {{NewTFramedTransportFactoryConf(factory TTransportFactory, conf 
*TConfiguration)}}
* {{NewTHeaderTransportFactoryConf(factory TTransportFactory, conf 
*TConfiguration)}}

{{lib/go/thrift/zlib_transport.go}} does not:

* {{NewTZlibTransportFactory(level int)}} ({{:59}})
* {{NewTZlibTransportFactoryWithFactory(level int, factory TTransportFactory)}} 
({{:65}})

A caller that builds its transport stack from configured factories therefore 
has to treat zlib as a special case. In the documented pipeline the 
configuration reaches the wrapped transport anyway, so this is a consistency 
gap rather than a defect -- but it is the kind of gap that makes callers write 
code that only looks right.

h2. Suggested

Add {{NewTZlibTransportFactoryConf(level int, factory TTransportFactory, conf 
*TConfiguration)}} alongside the existing two, following the framed and header 
factories, and have it propagate the configuration in {{GetTransport()}}.

_Drafted with AI assistance (Claude Opus 5); reviewed and filed by Jens Geyer._



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to