def METHOD_NAME(self):
    assert self.stream_lock is None
    range_ids = []
    index = 0
    while True:
        data = self._read_from_stream(None, self.chunk_size)
        if data:
            index += len(data)
            range_id = self._upload_chunk_with_progress(index, data)
            range_ids.append(range_id)
        else:
            break
    return range_ids