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

Resource control #97

Closed
feross opened this issue Sep 21, 2014 · 3 comments
Closed

Resource control #97

feross opened this issue Sep 21, 2014 · 3 comments

Comments

@feross
Copy link
Member

@feross feross commented Sep 21, 2014

Issue by astro
Monday Apr 14, 2014 at 17:44 GMT
Originally opened as https://github.com/feross/bittorrent-client/issues/1


I guess a bittorrent-client is basically an aggregation of bittorrent-swarms, right?

So far, I've found no common state requirements, except for resource control:

  • Unchoke pooling
  • Interested peers limiting (requesting at many peers will consume a lot of memory for incomplete piece messages)
  • Peer connection limitation (I have 80+ peers with popular torrents, running multiple of them will make cheap routers break a sweat)
  • I/O queuing?
  • Bandwidth throttling
  • New connection throttling (TCP handshakes require some bandwidth as well)
  • UDP throttling
@feross

This comment has been minimized.

Copy link
Member Author

@feross feross commented Sep 21, 2014

Comment by feross
Monday Apr 21, 2014 at 00:31 GMT


Yep, all these are good ideas that this module should definitely support. The other thing that is really important is that it needs to have a streaming interface for accessing file contents before the file is fully downloaded. I'm going to push an initial implementation soon.

@feross

This comment has been minimized.

Copy link
Member Author

@feross feross commented Sep 21, 2014

Comment by astro
Monday Apr 21, 2014 at 00:50 GMT


Here's how I do it: https://github.com/astro/bitorama/blob/master/lib/file_stream.js

@feross

This comment has been minimized.

Copy link
Member Author

@feross feross commented Sep 21, 2014

Comment by feross
Monday Apr 21, 2014 at 00:54 GMT


Thanks, will take a look!

@feross feross closed this Mar 12, 2015
@lock lock bot locked as resolved and limited conversation to collaborators May 6, 2018
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
1 participant
You can’t perform that action at this time.