kappa-db/multifeed

multifeed#removeFeed()

telamon opened this issue · 2 comments

I want to remove a feed in order to:

  1. stop sharing selected content.
  2. free up disk-space
  3. prevent selected content from being downloaded again (blacklist a feed)

I also want to pause replication for a feed in order to:

  1. keep downloaded content and temporarily save bandwidth.
  2. prioritize low-availablity feeds

3, 4, 5 can be implemented using application defined API once available

Perliminary proposal without changing current feed-storage scheme:

  • define multifeed#removeFeed(key|instance)
  • call feed.clear() on 'removed' feed to reclaim disk-space
  • Add 'removed' feeds public key to a blacklist array.
  • Use multifeed#_storage to persist blacklist to NOSYNC file
  • Ensure that NOSYNC file is loaded properly on start if exists
  • For multifeed v1/master patch L136 & L204 to filter blacklisted feeds
  • For multifeed v2.x patch L192 to filter blacklisted feeds.

This would be a good feature to support ephemeral feeds too, for coordinating replication swarms or distributed computing jobs.

Yes! This ties into a use case me and @okdistribute discussed was being able to annotate feeds & expose that in the pre-sync metadata, so you could see which feeds are marked as e.g. "media feeds" (biiiig data) and those could be avoided.