]> git.rkrishnan.org Git - tahoe-lafs/tahoe-lafs.git/commit
Simplify immutable download API: use just filenode.read(consumer, offset, size)
authorBrian Warner <warner@lothar.com>
Tue, 1 Dec 2009 22:44:35 +0000 (17:44 -0500)
committerBrian Warner <warner@lothar.com>
Tue, 1 Dec 2009 22:53:30 +0000 (17:53 -0500)
commit96834da0a271b703ce8b448450a7f379b1751f27
treea03a39c521522fe045891b908675ee3ce41fdc09
parent1059db51f2f106b4d9c7fd61d2bf78f69b2435db
Simplify immutable download API: use just filenode.read(consumer, offset, size)

* remove Downloader.download_to_data/download_to_filename/download_to_filehandle
* remove download.Data/FileName/FileHandle targets
* remove filenode.download/download_to_data/download_to_filename methods
* leave Downloader.download (the whole Downloader will go away eventually)
* add util.consumer.MemoryConsumer/download_to_data, for convenience
  (this is mostly used by unit tests, but it gets used by enough non-test
   code to warrant putting it in allmydata.util)
* update tests
* removes about 180 lines of code. Yay negative code days!

Overall plan is to rewrite immutable/download.py and leave filenode.read() as
the sole read-side API.
18 files changed:
src/allmydata/control.py
src/allmydata/dirnode.py
src/allmydata/frontends/ftpd.py
src/allmydata/frontends/sftpd.py
src/allmydata/immutable/download.py
src/allmydata/immutable/filenode.py
src/allmydata/interfaces.py
src/allmydata/test/common.py
src/allmydata/test/test_download.py
src/allmydata/test/test_encode.py
src/allmydata/test/test_filenode.py
src/allmydata/test/test_immutable.py
src/allmydata/test/test_mutable.py
src/allmydata/test/test_no_network.py
src/allmydata/test/test_repairer.py
src/allmydata/test/test_system.py
src/allmydata/test/test_web.py
src/allmydata/util/consumer.py [new file with mode: 0755]