diff options
author | rlarocque@chromium.org <rlarocque@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-04-22 21:37:43 +0000 |
---|---|---|
committer | rlarocque@chromium.org <rlarocque@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-04-22 21:37:43 +0000 |
commit | e902593719c356fbd09ca3db34c50b396f3b0806 (patch) | |
tree | 67719ead3dfccf5577e0666f7fc52f6afe9c49b1 /sync/sync_internal_api.gypi | |
parent | bef9526e345acf9b8ab4fa9d2cf29cd708e5bac9 (diff) | |
download | chromium_src-e902593719c356fbd09ca3db34c50b396f3b0806.zip chromium_src-e902593719c356fbd09ca3db34c50b396f3b0806.tar.gz chromium_src-e902593719c356fbd09ca3db34c50b396f3b0806.tar.bz2 |
Add compression support to UniquePositions
This commit adds gzip support to UniquePosition encoding. The client
may choose to leave the value uncompressed, or to run the value through
gzip. It is currently configured to use gzip only when the uncompressed
value has a length greater than or equal to 128 bytes.
We've seen some UniquePositions grow to inconveniently large lengths.
These large positions are expensive to store and transmit, and, if they
grow large enough, might start to cause commit failures.
Fortunately, long UniquePosition values tend to contain a lot of
reundancy. A common pattern is long strings of 0xFF or 0x00 digits. I
expect that gzip will do a very good job of compressing long positions,
to the point where large positions are no longer a problem.
Since this is the first use of zlib within sync, this CL includes
adjustments to DEPS and .gyp files to declare the new dependency.
Clients that support this feature may start writing position values that
can't be decoded by older clients. The older clients will silently
discard position updates delivered in a format they can't understand.
Fortunately, the UniquePosition code hasn't left dev channel yet, and
only a small minority of users have these large bookmarks, so the impact
should be very limited.
BUG=145412
Review URL: https://chromiumcodereview.appspot.com/14348038
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@195608 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'sync/sync_internal_api.gypi')
-rw-r--r-- | sync/sync_internal_api.gypi | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/sync/sync_internal_api.gypi b/sync/sync_internal_api.gypi index 04c36a6..9016a80 100644 --- a/sync/sync_internal_api.gypi +++ b/sync/sync_internal_api.gypi @@ -13,6 +13,7 @@ '../base/base.gyp:base', '../build/temp_gyp/googleurl.gyp:googleurl', '../net/net.gyp:net', + '../third_party/zlib/zlib.gyp:zlib', ], 'sources': [ 'internal_api/base_node.cc', |