docs: def add_or_update_record(
              self, dst_ase, src_block_list, offset, chunk_size, total_chunks,
              completed_chunks, completed):
          # type: (SyncCopyResumeManager,
          #        blobxfer.models.azure.StorageEntity, list, int, int, int,
          #        int, bool) -> None
          """Add or update a resume record
          :param SyncCopyResumeManager self: this
          :param blobxfer.models.azure.StorageEntity dst_ase: Storage Entity
          :param list src_block_list: source block list
          :param int offset: offset
          :param int chunk_size: chunk size in bytes
          :param int total_chunks: total chunks
          :param int completed_chunks: completed chunks bitarray
          :param bool completed: if completed
          """
          key = blobxfer.operations.resume._BaseResumeManager.\
              generate_record_key(dst_ase)
          with self.datalock():
              sc = self.get_record(dst_ase, key=key, lock=False)
              if sc is None:
                  sc = blobxfer.models.resume.SyncCopy(
                      length=dst_ase._size,
                      src_block_list=src_block_list,
                      offset=offset,
                      chunk_size=chunk_size,
                      total_chunks=total_chunks,
                      completed_chunks=completed_chunks,
                      completed=completed,
                  )
              else:
                  if sc.completed or completed_chunks == sc.completed_chunks:
                      return
                  sc.offset = offset
                  sc.completed_chunks = completed_chunks
                  if completed:
                      sc.completed = completed
              self._data[key] = sc
              self._data.sync()