mercurial/bundle2.py
changeset 30367 5925bda42dbd
parent 30363 d045b4091197
child 30448 71b368e3b590
--- a/mercurial/bundle2.py	Mon Nov 07 18:57:07 2016 -0800
+++ b/mercurial/bundle2.py	Mon Nov 07 18:46:37 2016 -0800
@@ -571,13 +571,8 @@
         yield _pack(_fstreamparamsize, len(param))
         if param:
             yield param
-        # starting compression
-        compressor = self._compengine.compressorobj()
-        for chunk in self._getcorechunk():
-            data = compressor.compress(chunk)
-            if data:
-                yield data
-        yield compressor.flush()
+        for chunk in self._compengine.compressstream(self._getcorechunk()):
+            yield chunk
 
     def _paramchunk(self):
         """return a encoded version of all stream parameters"""
@@ -1323,15 +1318,10 @@
             raise error.Abort(_('unknown stream compression type: %s')
                               % comp)
         compengine = util.compengines.forbundletype(comp)
-        compressor = compengine.compressorobj()
-        subchunkiter = cg.getchunks()
         def chunkiter():
             yield header
-            for chunk in subchunkiter:
-                data = compressor.compress(chunk)
-                if data:
-                    yield data
-            yield compressor.flush()
+            for chunk in compengine.compressstream(cg.getchunks()):
+                yield chunk
         chunkiter = chunkiter()
 
     # parse the changegroup data, otherwise we will block