def _read_from_cache(self, verinfo, shnum, offset, length):
return self._cache.read(verinfo, shnum, offset, length)
- def get_write_enabler(self, peerid):
- assert len(peerid) == 20
- return hashutil.ssk_write_enabler_hash(self._writekey, peerid)
- def get_renewal_secret(self, peerid):
- assert len(peerid) == 20
+ def get_write_enabler(self, server):
+ seed = server.get_foolscap_write_enabler_seed()
+ assert len(seed) == 20
+ return hashutil.ssk_write_enabler_hash(self._writekey, seed)
+ def get_renewal_secret(self, server):
crs = self._secret_holder.get_renewal_secret()
frs = hashutil.file_renewal_secret_hash(crs, self._storage_index)
- return hashutil.bucket_renewal_secret_hash(frs, peerid)
- def get_cancel_secret(self, peerid):
- assert len(peerid) == 20
+ lease_seed = server.get_lease_seed()
+ assert len(lease_seed) == 20
+ return hashutil.bucket_renewal_secret_hash(frs, lease_seed)
+ def get_cancel_secret(self, server):
ccs = self._secret_holder.get_cancel_secret()
fcs = hashutil.file_cancel_secret_hash(ccs, self._storage_index)
- return hashutil.bucket_cancel_secret_hash(fcs, peerid)
+ lease_seed = server.get_lease_seed()
+ assert len(lease_seed) == 20
+ return hashutil.bucket_cancel_secret_hash(fcs, lease_seed)
def get_writekey(self):
return self._writekey
recoverable version that I can find in there.
"""
# XXX: wording ^^^^
- if servermap and servermap.last_update_mode == mode:
+ if servermap and servermap.get_last_update()[0] == mode:
d = defer.succeed(servermap)
else:
d = self._get_servermap(mode)
def _overwrite(self, new_contents):
assert IMutableUploadable.providedBy(new_contents)
- assert self._servermap.last_update_mode == MODE_WRITE
+ assert self._servermap.get_last_update()[0] == MODE_WRITE
return self._upload(new_contents)
I attempt to apply a modifier to the contents of the mutable
file.
"""
- assert self._servermap.last_update_mode != MODE_READ
+ assert self._servermap.get_last_update()[0] != MODE_READ
# download_to_data is serialized, so we have to call this to
# avoid deadlock.
"""
I am the serialized companion of read.
"""
- r = Retrieve(self._node, self._servermap, self._version, fetch_privkey)
+ r = Retrieve(self._node, self._storage_broker, self._servermap,
+ self._version, fetch_privkey)
if self._history:
self._history.notify_retrieve(r.get_status())
d = r.download(consumer, offset, size)
used by the new uploadable. I return a Deferred that fires with
the segments.
"""
- r = Retrieve(self._node, self._servermap, self._version)
+ r = Retrieve(self._node, self._storage_broker, self._servermap,
+ self._version)
# decode: takes in our blocks and salts from the servermap,
# returns a Deferred that fires with the corresponding plaintext
# segments. Does not download -- simply takes advantage of