diff --git a/src/_zkapauthorizer/_storage_server.py b/src/_zkapauthorizer/_storage_server.py index 6f5a4484dbe5ac51a2be78e0449468fe47a0e378..7ae60c34db3db2ce799f6d9cabfcb1da9db5e674 100644 --- a/src/_zkapauthorizer/_storage_server.py +++ b/src/_zkapauthorizer/_storage_server.py @@ -70,6 +70,7 @@ from .storage_common import ( add_lease_message, renew_lease_message, slot_testv_and_readv_and_writev_message, + has_writes, ) class MorePassesRequired(Exception): @@ -274,20 +275,6 @@ class ZKAPAuthorizerStorageServer(Referenceable): return self._original.remote_slot_readv(*a, **kw) -def has_writes(tw_vectors): - """ - :param tw_vectors: See - ``allmydata.interfaces.TestAndWriteVectorsForShares``. - - :return bool: ``True`` if any only if there are writes in ``tw_vectors``. - """ - return any( - data - for (test, data, new_length) - in tw_vectors.values() - ) - - def get_sharenums(tw_vectors): """ :param tw_vectors: See diff --git a/src/_zkapauthorizer/storage_common.py b/src/_zkapauthorizer/storage_common.py index 43bc043d0932c3fa82cb4705543fa11902eabac7..5baacb22be69bb3e3473c3e7b8b22a7994320845 100644 --- a/src/_zkapauthorizer/storage_common.py +++ b/src/_zkapauthorizer/storage_common.py @@ -65,3 +65,17 @@ def required_passes(bytes_per_pass, share_nums, share_size): (len(share_nums) * share_size) / bytes_per_pass, ), ) + + +def has_writes(tw_vectors): + """ + :param tw_vectors: See + ``allmydata.interfaces.TestAndWriteVectorsForShares``. + + :return bool: ``True`` if any only if there are writes in ``tw_vectors``. + """ + return any( + data + for (test, data, new_length) + in tw_vectors.values() + )