From e212f7179a909868f02ae8aff83b2e2079ec4514 Mon Sep 17 00:00:00 2001
From: Jean-Paul Calderone <exarkun@twistedmatrix.com>
Date: Thu, 10 Oct 2019 12:58:12 -0400
Subject: [PATCH] Move has_writes for easier reuse

---
 src/_zkapauthorizer/_storage_server.py | 15 +--------------
 src/_zkapauthorizer/storage_common.py  | 14 ++++++++++++++
 2 files changed, 15 insertions(+), 14 deletions(-)

diff --git a/src/_zkapauthorizer/_storage_server.py b/src/_zkapauthorizer/_storage_server.py
index 6f5a448..7ae60c3 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 43bc043..5baacb2 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()
+    )
-- 
GitLab