From 0ee027c180717334ad3c1fb5efbc5a87006c5bdf Mon Sep 17 00:00:00 2001 From: Zooko O'Whielacronx Date: Fri, 2 Jan 2009 11:43:17 -0700 Subject: [PATCH] immutable: ValidatedExtendedURIProxy computes and stores block_size and share_size for the convenience of its users --- src/allmydata/immutable/download.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/allmydata/immutable/download.py b/src/allmydata/immutable/download.py index 54b37a2a..ce40ba92 100644 --- a/src/allmydata/immutable/download.py +++ b/src/allmydata/immutable/download.py @@ -189,6 +189,8 @@ class ValidatedExtendedURIProxy: self.share_root_hash = None # computed + self.block_size = None + self.share_size = None self.num_segments = None self.tail_segment_size = None @@ -210,6 +212,8 @@ class ValidatedExtendedURIProxy: return data def _parse_and_validate(self, data): + self.share_size = mathutil.div_ceil(self._verifycap.size, self._verifycap.needed_shares) + d = uri.unpack_extension(data) # There are several kinds of things that can be found in a UEB. First, things that we @@ -227,6 +231,7 @@ class ValidatedExtendedURIProxy: # crypttext_root_hash, and share_root_hash. self.segment_size = d['segment_size'] + self.block_size = mathutil.div_ceil(self.segment_size, self._verifycap.needed_shares) self.num_segments = mathutil.div_ceil(self._verifycap.size, self.segment_size) tail_data_size = self._verifycap.size % self.segment_size -- 2.45.2