'Checkpoints all running downloads in Tribler.
Even if the list of Downloads changes in the mean time this is no problem.
For removals, dllist will still hold a pointer to the download, and additions are no problem
(just won\'t be included in list of states returned via callback).'

def checkpoint_downloads(self):

    downloads = self.downloads.values()
    deferred_list = []
    self._logger.debug('tlm:    checkpointing    %s    downloads', len(downloads))
    for download in downloads:
        deferred_list.append(download.checkpoint())
    return DeferredList(deferred_list)
