code: def feed(self, data_len, feed_time=None):
          '''Update the bandwidth meter.
  
          Args:
              data_len (int): The number of bytes transfered since the last
                  call to :func:`feed`.
              feed_time (float): Current time.
          '''
          self._bytes_transferred += data_len
          self._collected_bytes_transferred += data_len
  
          time_now = feed_time or time.time()
          time_diff = time_now - self._last_feed_time
  
          if time_diff < self._sample_min_time:
              return
  
          self._last_feed_time = time.time()
  
          if data_len == 0 and time_diff >= self._stall_time:
              self._stalled = True
              return
  
          self._samples.append((time_diff, self._collected_bytes_transferred))
          self._collected_bytes_transferred = f feed(self, data_len, feed_time=None):
          '''Update the bandwidth meter.
  
          Args:
              data_len (int): The number of bytes transfered since the last
                  call to :func:`feed`.
              feed_time (float): Current time.
          '''
          self._bytes_transferred += data_len
          self._collected_bytes_transferred += data_len
  
          time_now = feed_time or time.time()
          time_diff = time_now - self._last_feed_time
  
          if time_diff < self._sample_min_time:
              return
  
          self._last_feed_time = time.time()
  
          if data_len == 0 and time_diff >= self._stall_time:
              self._stalled = True
              return
  
          self._samples.append((time_diff, self._collected_bytes_transferred))
          self._collected_bytes_transferred = 0
docs: Update the bandwidth meter.
  
          Args:
              data_len (int): The number of bytes transfered since the last
                  call to :func:`feed`.
              feed_time (float): Current time.