aboutsummaryrefslogtreecommitdiffstats
path: root/packages/meshbay-node/src/meshbay_node/transfers.py
diff options
context:
space:
mode:
Diffstat (limited to 'packages/meshbay-node/src/meshbay_node/transfers.py')
-rw-r--r--packages/meshbay-node/src/meshbay_node/transfers.py9
1 files changed, 9 insertions, 0 deletions
diff --git a/packages/meshbay-node/src/meshbay_node/transfers.py b/packages/meshbay-node/src/meshbay_node/transfers.py
index cef817a..86c8d14 100644
--- a/packages/meshbay-node/src/meshbay_node/transfers.py
+++ b/packages/meshbay-node/src/meshbay_node/transfers.py
@@ -490,6 +490,15 @@ class LeaselessReads:
minute."""
self._seen.pop(file_id, None)
+ def in_flight(self) -> int:
+ """How many files this session is reading leaselessly right now.
+
+ Readable for the same reason `transfer_state` carries `used` and `cap`:
+ a bound nobody can ask about is a bound nobody can prove anything
+ about, and this one decides whether a preview is refused.
+ """
+ return len(self._seen)
+
def _expire(self, now: float) -> None:
# A viewer closed mid-file stops asking and says nothing. Without this
# the session would carry two dead entries and refuse every later