def termination_check(self):
        # type: (Downloader) -> bool
        """Check if terminated
        :param Downloader self: this
        :rtype: bool
        :return: if terminated
        """
        with self._transfer_lock:
            with self._disk_operation_lock:
                return (self._download_terminate or
                        len(self._exceptions) > 0 or
                        (self._all_remote_files_processed and
                         len(self._transfer_set) == 0 and
                         len(self._disk_set) == 0))
Check if terminated
        :param Downloader self: this
        :rtype: bool
        :return: if terminated