]> git.rkrishnan.org Git - tahoe-lafs/tahoe-lafs.git/commit
fuse/blackmatch: added asynchronous (background) file download
authorrobk-tahoe <robk-tahoe@allmydata.com>
Mon, 20 Oct 2008 23:33:33 +0000 (16:33 -0700)
committerrobk-tahoe <robk-tahoe@allmydata.com>
Mon, 20 Oct 2008 23:33:33 +0000 (16:33 -0700)
commitf08d18176482508e7b7eee71d35999a183201de3
tree566c999da3b758a3ecd6bd3f82f17f203fdaf846
parent1cdfecb446e2e6369fd07b059d6759eccd52e344
fuse/blackmatch: added asynchronous (background) file download

previously, upon opening a file for reading, the open() call would block
while the entire file was retrieved from tahoe into the cache directory.
This change adds a DownloaderWithReadQueue class, and associated plumbing,
such that an open() will return promptly with the download initiated 'in
the background'.  Subsequent read() operations will block until enough
data has been downloaded to satisfy that request.  This provides a behaviour
similar to streaming, i.e. the client application will be able to read
data from the fuse interface while the remainder of the file is still being
downloaded.
contrib/fuse/impl_c/blackmatch.py