mirror of
https://github.com/ksyasuda/SubMiner.git
synced 2026-07-27 16:49:51 -07:00
docs(launcher): design stale sync socket guard
This commit is contained in:
@@ -0,0 +1,26 @@
|
|||||||
|
# Sync Stale Socket Guard Design
|
||||||
|
|
||||||
|
## Problem
|
||||||
|
|
||||||
|
The sync quiescence guard treats any configured mpv socket path as a running
|
||||||
|
session when the filesystem entry exists. Unix socket files can remain after
|
||||||
|
mpv exits, so a stale `/tmp/subminer-socket` blocks the remote merge even when
|
||||||
|
nothing is listening.
|
||||||
|
|
||||||
|
## Design
|
||||||
|
|
||||||
|
Reuse the launcher's existing Unix socket connection check. The sync guard will
|
||||||
|
block only when it can connect to the configured socket. Missing, stale, or
|
||||||
|
otherwise unreachable socket paths will not block sync, and sync will not
|
||||||
|
delete them.
|
||||||
|
|
||||||
|
Because socket connection checks are asynchronous, the sync dispatch, merge
|
||||||
|
mode, host mode, and quiescence checks will become async. The already-async
|
||||||
|
launcher entrypoint will await sync dispatch. Snapshot, transfer, merge,
|
||||||
|
cleanup, and error behavior otherwise remain unchanged.
|
||||||
|
|
||||||
|
## Validation
|
||||||
|
|
||||||
|
Add focused tests proving a stale socket is ignored and a live socket remains a
|
||||||
|
hard failure. Re-run sync command and socket tests, type checking, launcher
|
||||||
|
tests, docs checks, and the SubMiner launcher/docs verification lanes.
|
||||||
Reference in New Issue
Block a user