# HG changeset patch # User Pierre-Yves David # Date 2014-04-10 19:33:20 # Node ID 4cae06ae156273bdbb8fb0f11e1bd10299941e3d # Parent 1e28ec9744bff954705b2ca89c7865f9d9eb314b bundle2: extract a _payloadchunks method for part We are preparing streaming capability for part. So the generation of payload chunk will becomes more complex. We extract this part in its own function before any changes. diff --git a/mercurial/bundle2.py b/mercurial/bundle2.py --- a/mercurial/bundle2.py +++ b/mercurial/bundle2.py @@ -549,13 +549,20 @@ class part(object): yield _pack(_fpartheadersize, len(headerchunk)) yield headerchunk ## payload + for chunk in self._payloadchunks(): + yield _pack(_fpayloadsize, len(chunk)) + yield chunk + # end of payload + yield _pack(_fpayloadsize, 0) + + def _payloadchunks(self): + """yield chunks of a the part payload + + Exists to handle the different methods to provide data to a part.""" # we only support fixed size data now. # This will be improved in the future. if len(self.data): - yield _pack(_fpayloadsize, len(self.data)) yield self.data - # end of payload - yield _pack(_fpayloadsize, 0) @parthandler('changegroup') def handlechangegroup(op, inpart):