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)
def _download_timedout(self): self.stop() if not self.finished_deferred.called: self.finished_deferred.errback(DownloadSDTimeout(self.blob_hash))