예제 #1
0
 def check_status(self):
     """
     Check if we've got the first data blob in the stream yet
     """
     self.timeout_counter += 1
     if self.timeout_counter > self.timeout:
         if not self.data_downloading_deferred.called:
             if self.downloader:
                 err = DownloadDataTimeout(self.sd_hash)
             else:
                 err = DownloadSDTimeout(self.sd_hash)
             self.data_downloading_deferred.errback(err)
         safe_stop_looping_call(self.checker)
     elif self.downloader:
         d = self.downloader.status()
         d.addCallback(self._check_status)
     else:
         log.debug("Waiting for stream descriptor (%i seconds)", self.timeout_counter)
예제 #2
0
 def _download_timedout(self):
     self.stop()
     if not self.finished_deferred.called:
         self.finished_deferred.errback(DownloadSDTimeout(self.blob_hash))