diff options
author | Yuxuan 'fishy' Wang <yuxuan.wang@reddit.com> | 2020-12-16 17:10:48 -0800 |
---|---|---|
committer | Yuxuan 'fishy' Wang <fishywang@gmail.com> | 2021-01-17 12:24:13 -0800 |
commit | c4d1c0d80067986dbee124887bcb402ee1c6538e (patch) | |
tree | 60d2edf616dfd2f1ba9906bd10c9321ff349b4ae /CHANGES.md | |
parent | c4e899a6d64aa97430ec9f7608d38db2095f6159 (diff) | |
download | thrift-c4d1c0d80067986dbee124887bcb402ee1c6538e.tar.gz |
THRIFT-5322: Implement TConfiguration in Go library
Client: go
Define TConfiguration following the spec, and also move the following
configurations scattered around different TTransport/TProtocol into it:
- connect and socket timeouts for TSocket and TSSLSocket
- tls config for TSSLSocket
- max frame size for TFramedTransport
- strict read and strict write for TBinaryProtocol
- proto id for THeaderTransport
Also add TConfiguration support for the following and their factories:
- THeaderTransport and THeaderProtocol
- TBinaryProtocol
- TCompactProtocol
- TFramedTransport
- TSocket
- TSSLSocket
Also define TConfigurationSetter interface for easier TConfiguration
propagation between wrapped TTransports/TProtocols , and add
implementations to the following for propagation
(they don't use anything from TConfiguration themselves):
- StreamTransport
- TBufferedTransport
- TDebugProtocol
- TJSONProtocol
- TSimpleJSONProtocol
- TZlibTransport
TConfigurationSetter are not implemented by the factories of the
"propagation only" TTransports/TProtocols, if they have a factory. For
those use cases, TTransportFactoryConf and TProtocolFactoryConf are
provided to wrap a factory with the ability to propagate TConfiguration.
Also add simple sanity check for TBinaryProtocol and TCompactProtocol's
ReadString and ReadBinary functions. Currently it only report error if
the header length is larger than MaxMessageSize configured in
TConfiguration, for simplicity.
Diffstat (limited to 'CHANGES.md')
-rw-r--r-- | CHANGES.md | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/CHANGES.md b/CHANGES.md index 65ed07f50..663c4c18c 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -29,6 +29,7 @@ - [THRIFT-5164](https://issues.apache.org/jira/browse/THRIFT-5164) - Add ProcessorMiddleware function type and WrapProcessor function to support wrapping a TProcessor with middleware functions. - [THRIFT-5233](https://issues.apache.org/jira/browse/THRIFT-5233) - Add context deadline check to ReadMessageBegin in TBinaryProtocol, TCompactProtocol, and THeaderProtocol. - [THRIFT-5240](https://issues.apache.org/jira/browse/THRIFT-5240) - The context passed into server handler implementations will be canceled when we detected that the client closed the connection. +- [THRIFT-5322](https://issues.apache.org/jira/browse/THRIFT-5322) - Add support to TConfiguration, and also fix a bug that could cause excessive memory usage when reading malformed messages from TCompactProtocol. ## 0.13.0 |