class documentation

Class to verify a pack stream as it is being read.

The pack is read from a ReceivableProtocol using read() or recv() as appropriate and written out to the given file-like object.

Method __init__ Initialize the copier.
Method verify Verify a pack stream and write it to the output file.
Instance Variable outfile Undocumented
Method _read Read data from the read callback and write it to the file.
Instance Variable _delta_iter Undocumented

Inherited from PackStreamReader:

Method __len__ Return the number of objects in this pack.
Method read Read, blocking until size bytes are read.
Method read_objects Read the objects in this pack file.
Method recv Read up to size bytes, blocking until one byte is read.
Instance Variable hash_func Undocumented
Instance Variable read_all Undocumented
Instance Variable read_some Undocumented
Instance Variable sha Undocumented
Property offset Return current offset in the stream.
Method _buf_len Undocumented
Instance Variable _hash_size Undocumented
Instance Variable _num_objects Undocumented
Instance Variable _offset Undocumented
Instance Variable _rbuf Undocumented
Instance Variable _trailer Undocumented
Instance Variable _zlib_bufsize Undocumented
def __init__(self, hash_func: Callable[[], HashObject], read_all: Callable[[int], bytes], read_some: Callable[[int], bytes] | None, outfile: IO[bytes], delta_iter: DeltaChainIterator[UnpackedObject] | None = None):

Initialize the copier.

Parameters
hash_func:Callable[[], HashObject]Hash function to use for computing object IDs
read_all:Callable[[int], bytes]Read function that blocks until the number of requested bytes are read.
read_some:Callable[[int], bytes] | NoneRead function that returns at least one byte, but may not return the number of bytes requested.
outfile:IO[bytes]File-like object to write output through.
delta_iter:DeltaChainIterator[UnpackedObject] | NoneOptional DeltaChainIterator to record deltas as we read them.
def verify(self, progress: Callable[..., None] | None = None):

Verify a pack stream and write it to the output file.

See PackStreamReader.iterobjects for a list of exceptions this may throw.

outfile =

Undocumented

def _read(self, read: Callable[[int], bytes], size: int) -> bytes:

Read data from the read callback and write it to the file.

_delta_iter =

Undocumented