def _update_process_result()

in alibabacloud_oss_v2/downloader.py [0:0]


    def _update_process_result(self, result):
        #print(f'_update_process_result: {result}')
        if result is None:
            return

        if result[2] is not None:
            self._download_errors.append(result[2])
            return

        start = result[0]
        size = result[1]
        crc = result[3]

        if self._next_offset != start:
            if len(self._download_errors) == 0:
                self._download_errors.append(
                    ValueError(f'out of order, expect offset {self._next_offset}, but got {start}'))

        if len(self._download_errors) > 0:
            return

        self._next_offset = start + size

        if self._check_crc:
            self._ccrc = Crc64.combine(self._ccrc, crc, size)

        if self._checkpoint:
            self._checkpoint.dcrc64 = self._ccrc
            self._checkpoint.doffset = self._next_offset
            self._checkpoint.dump()