Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

multifeed#removeFeed() #19

Open
7 tasks
telamon opened this issue Jan 21, 2019 · 2 comments
Open
7 tasks

multifeed#removeFeed() #19

telamon opened this issue Jan 21, 2019 · 2 comments

Comments

@telamon
Copy link
Contributor

telamon commented Jan 21, 2019

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.
@ghost
Copy link

ghost commented Apr 23, 2019

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

@hackergrrl
Copy link
Member

hackergrrl commented Apr 23, 2019

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants