]> git.rkrishnan.org Git - tahoe-lafs/tahoe-lafs.git/commit
download.py: use producer/consumer to reduce memory usage, closes #129.
authorBrian Warner <warner@lothar.com>
Wed, 19 Sep 2007 07:34:47 +0000 (00:34 -0700)
committerBrian Warner <warner@lothar.com>
Wed, 19 Sep 2007 07:34:47 +0000 (00:34 -0700)
commit1340c484c6c60c524096e98ee78243c8c00a12b7
treedbf7f2ae660ba9d16e08a337c6ed49bfad7389f3
parent9c9a793540299f5b47941b127bc51263f912e030
download.py: use producer/consumer to reduce memory usage, closes #129.
If the DownloadTarget is also an IConsumer, give it control of the brakes
by offering ourselves to target.registerProducer(). When they tell us to
pause, set a flag, which is checked between segment downloads and decodes.
webish.py: make WebDownloadTarget an IConsumer and pass control along to
the http.Request, which already knows how to be an IConsumer.
This reduces the memory footprint of stalled HTTP GETs to a bare minimum,
and thus closes #129.
src/allmydata/download.py
src/allmydata/webish.py