Implementing download throttling
For incoming streams, Node provides pause
and resume
methods, but not so for outbound streams. Essentially, this means we can easily throttle upload speeds in Node but download throttling requires a more creative solution.
Getting ready
We'll need a new server.js
along with a good-sized file to serve. With the dd
command-line program, we can generate a file for testing purposes.
dd if=/dev/zero of=50meg count=50 bs=1048576
This will create a 50 MB file named 50meg
which we'll be serving.
Tip
For a similar Windows tool that can be used to generate a large file, check out http://www.bertel.de/software/rdfc/index-en.html.
How to do it...
To keep things as simple as possible our download server will serve just one file, ...
Get Node Cookbook now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.