code: def send(self):
          
          sent_chunks = 0
          chunk_num = self.index
          with open(self.filename, 'rb') as infile:
              infile.seek(self.index * self.chunk_size)
              while sent_chunks != self.num_chunks_to_send:
                  chunk = infile.read(self.chunk_size)
                  self._send_chunk(chunk, chunk_num)
                  self.progress_queue.processed(1)
                  chunk_num += 1
                  sent_chunks += 1
docs: For each chunk we need to send, create upload url and send bytes. Raises exception on error.