]> git.rkrishnan.org Git - tahoe-lafs/tahoe-lafs.git/commit
rearrange encode/upload, add URIs, switch to ReplicatingEncoder
authorBrian Warner <warner@allmydata.com>
Tue, 16 Jan 2007 04:22:22 +0000 (21:22 -0700)
committerBrian Warner <warner@allmydata.com>
Tue, 16 Jan 2007 04:22:22 +0000 (21:22 -0700)
commit3209fd5e0914f04b9626fde08787dba250569b30
tree460e479779c146e663d51a31b53750239db91c28
parent78a9e815c5ae425fd071d42296c0adf11ff3a741
rearrange encode/upload, add URIs, switch to ReplicatingEncoder

Added metadata to the bucket store, which is used to hold the share number
(but the bucket doesn't know that, it just gets a string).

Modified the codec interfaces a bit.

Try to pass around URIs to/from download/upload instead of verifierids.
URI format is still in flux.

Change the current (primitive) file encoder to use a ReplicatingEncoder
because it provides ICodecEncoder. We will be moving to the (less primitive)
file encoder (currently in allmydata.encode_new) eventually, but for now
this change lets us test out PyRS or zooko's upcoming C-based RS codec in
something larger than a single unit test. This primitive file encoder only
uses a single segment, and has no merkle trees.

Also added allmydata.util.deferredutil for a DeferredList wrapper that
errbacks (but only when all component Deferreds have fired) if there were
any errors, which unfortunately is not a behavior available from the standard
DeferredList.
15 files changed:
src/allmydata/bucketstore.py
src/allmydata/client.py
src/allmydata/codec.py
src/allmydata/download.py
src/allmydata/encode_new.py
src/allmydata/filetable.py
src/allmydata/interfaces.py
src/allmydata/test/test_client.py
src/allmydata/test/test_codec.py
src/allmydata/test/test_system.py
src/allmydata/test/test_upload.py
src/allmydata/upload.py
src/allmydata/util/deferredutil.py [new file with mode: 0644]
src/allmydata/util/idlib.py
src/allmydata/vdrive.py