upleb.uk

Public git repos — served from a NIP-34 GRASP relay at git.upleb.uk

summaryrefslogtreecommitdiff
path: root/tests/scripts/test_bitflash_tools.py
diff options
context:
space:
mode:
authorbitflash-maintainer <noreply@bitflash.invalid>2026-09-01 14:41:09 +0000
committerbitflash-maintainer <noreply@bitflash.invalid>2026-09-01 14:41:09 +0000
commit8e0d97f7957e570c2e26d79e66efe0cc064cee4b (patch)
tree9a1dee0f994171bb217de852d9d659408df384f4 /tests/scripts/test_bitflash_tools.py
parenta1d867ecbcfc9e218408d0a11863a450243a01f9 (diff)
pool: log a connection census, not just the broadcast count
"broadcast to N miner(s)" counts the authorized sockets that were sent a job. It says nothing about the rest of the connection table, so a pool holding a pile of half-open sessions and one real miner reads the same as a pool with N miners. #19 was opened on exactly that confusion: ~55 connections served per job while ~2 outside miners actually submitted shares. Log the breakdown every 60s instead: connected, subscribed (completed mining.subscribe), authorized, active (authorized and seen within one payout-rotate cycle), and never-auth-idle (past the grace period without authorizing). The pool category is on by default, so this reaches a production log without /debug, and the burst-collapse window is 3s, so a 60s cadence is never the duplicate this tree has swallowed before. The census also reports how close the single select() loop is to running out of room, which is not the same question on both platforms. On POSIX FD_SETSIZE bounds the value of any descriptor handed to FD_SET, so the highest fd we hold is what matters; on Windows an fd_set is a counted array of SOCKET handles whose values are arbitrary, so the count is what matters. FD_SETSIZE comes from the platform headers either way -- this file must not define it, because redefining it after <sys/select.h> or winsock2.h changes nothing at all.
Diffstat (limited to 'tests/scripts/test_bitflash_tools.py')
0 files changed, 0 insertions, 0 deletions