equal
deleted
inserted
replaced
158 _fpartheadersize = '>H' |
158 _fpartheadersize = '>H' |
159 _fparttypesize = '>B' |
159 _fparttypesize = '>B' |
160 _fpartid = '>I' |
160 _fpartid = '>I' |
161 _fpayloadsize = '>I' |
161 _fpayloadsize = '>I' |
162 _fpartparamcount = '>BB' |
162 _fpartparamcount = '>BB' |
|
163 |
|
164 preferedchunksize = 4096 |
163 |
165 |
164 def _makefpartparamsizes(nbparams): |
166 def _makefpartparamsizes(nbparams): |
165 """return a struct format to read part parameter sizes |
167 """return a struct format to read part parameter sizes |
166 |
168 |
167 The number parameters is variable so we need to build that format |
169 The number parameters is variable so we need to build that format |
559 """yield chunks of a the part payload |
561 """yield chunks of a the part payload |
560 |
562 |
561 Exists to handle the different methods to provide data to a part.""" |
563 Exists to handle the different methods to provide data to a part.""" |
562 # we only support fixed size data now. |
564 # we only support fixed size data now. |
563 # This will be improved in the future. |
565 # This will be improved in the future. |
564 if len(self.data): |
566 if util.safehasattr(self.data, 'next'): |
|
567 buff = util.chunkbuffer(self.data) |
|
568 chunk = buff.read(preferedchunksize) |
|
569 while chunk: |
|
570 yield chunk |
|
571 chunk = buff.read(preferedchunksize) |
|
572 elif len(self.data): |
565 yield self.data |
573 yield self.data |
566 |
574 |
567 @parthandler('changegroup') |
575 @parthandler('changegroup') |
568 def handlechangegroup(op, inpart): |
576 def handlechangegroup(op, inpart): |
569 """apply a changegroup part on the repo |
577 """apply a changegroup part on the repo |