diff options
author | Muxi Yan <mxyan@google.com> | 2017-05-16 11:15:47 -0700 |
---|---|---|
committer | Muxi Yan <mxyan@google.com> | 2017-05-16 11:15:47 -0700 |
commit | a31b9d6bf447a64c46d344043f04c8a0cd4741c5 (patch) | |
tree | efabe083fd20fe9b432b92b35d34f9d7bc9e49f5 /doc/workarounds.md | |
parent | b1e5bac392a3c229eed5df16a6b8ea850501ef39 (diff) |
Alternate workaround description style
Diffstat (limited to 'doc/workarounds.md')
-rw-r--r-- | doc/workarounds.md | 21 |
1 files changed, 8 insertions, 13 deletions
diff --git a/doc/workarounds.md b/doc/workarounds.md index 4dd1a2c83c..0446db65b6 100644 --- a/doc/workarounds.md +++ b/doc/workarounds.md @@ -5,16 +5,11 @@ This document lists the workarounds implemented on gRPC servers for record and r ## Workaround Lists -| Workaround ID | Date added | Issue | Workaround Description | Status | -|-------------------------------------|--------------|---------------------------------------------------|------------------------------------------------------|--------------------------| -| WORKAROUND\_ID\_CRONET\_COMPRESSION | May 06, 2017 | Before version v1.3.0-dev, gRPC iOS client's | Implemented as a server channel filter in C core. | Implemented in C and C++ | -| | | Cronet transport did not implement compression. | The filter identifies the version of peer client | | -| | | However the clients still claim to support | with incoming `user-agent` header of each call. If | | -| | | compression. As a result, a client fails to parse | the client's gRPC version is lower that or equal to | | -| | | received message when the message is compressed. | v1.3.x, a flag GRPC\_WRITE\_NO\_COMPRESS is marked | | -| | | | for all send\_message ops which prevents compression | | -| | | The problem above was resolved in gRPC v1.3.0-dev.| of the messages to be sent out. | | -| | | For backward compatibility, a server must | | | -| | | forcingly disable compression for gRPC clients of | | | -| | | version lower than or equal to v1.3.0-dev. | | | - +### Cronet Compression + +**Workaround ID:** WORKAROUND\_ID\_CRONET\_COMPRESSION +**Date added:** May 06, 2017 +**Status:** Implemented in C core and C++ +**Issue:** Before version v1.3.0-dev, gRPC iOS client's Cronet transport did not implement compression. However the clients still claim to support compression. As a result, a client fails to parse received message when the message is compressed. +The problem above was resolved in gRPC v1.3.0-dev. For backward compatibility, a server must forcingly disable compression for gRPC clients of version lower than or equal to v1.3.0-dev. +**Workaround Description:** Implemented as a server channel filter in C core. The filter identifies the version of peer client with incoming `user-agent` header of each call. If the client's gRPC version is lower that or equal to v1.3.x, a flag GRPC_WRITE_NO_COMPRESS is marked for all send_message ops which prevents compression of the messages to be sent out. |