summaryrefslogtreecommitdiffstats
path: root/sync/sync_internal_api.gypi
diff options
context:
space:
mode:
authorrlarocque@chromium.org <rlarocque@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-04-22 21:37:43 +0000
committerrlarocque@chromium.org <rlarocque@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-04-22 21:37:43 +0000
commite902593719c356fbd09ca3db34c50b396f3b0806 (patch)
tree67719ead3dfccf5577e0666f7fc52f6afe9c49b1 /sync/sync_internal_api.gypi
parentbef9526e345acf9b8ab4fa9d2cf29cd708e5bac9 (diff)
downloadchromium_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.gypi1
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',