Add Windows named-pipe local control
This commit is contained in:
parent
ce3e029b3d
commit
3c84713472
9 changed files with 338 additions and 72 deletions
|
|
@ -22,8 +22,10 @@ For deployment-readiness work that cuts across feature areas, see
|
|||
- `[x]` Daemon startup claims the local control endpoint before starting
|
||||
network and background modules.
|
||||
- `[x]` A live endpoint rejects another daemon with the stable
|
||||
`daemon_already_running` code instead of unlinking the first socket.
|
||||
- `[x]` Stale, unreachable socket paths are recovered automatically.
|
||||
`daemon_already_running` code instead of unlinking the first Unix socket or
|
||||
replacing the first Windows named-pipe server.
|
||||
- `[x]` Stale, unreachable Unix socket paths are recovered automatically;
|
||||
Windows pipe lifetime is owned by the server handle.
|
||||
- `[x]` Tests cover stale recovery and live second-daemon rejection.
|
||||
|
||||
- `[x]` Keep local control available when Iroh-native startup degrades.
|
||||
|
|
@ -37,6 +39,17 @@ For deployment-readiness work that cuts across feature areas, see
|
|||
- `[x]` Tests inject a post-endpoint native-store failure and verify clean
|
||||
degradation where UDP endpoint binding is available.
|
||||
|
||||
- `[x]` Use a platform-native local control carrier.
|
||||
Acceptance criteria:
|
||||
- `[x]` Linux and macOS retain per-home Unix-domain sockets.
|
||||
- `[x]` Windows derives a deterministic per-home named-pipe name and uses
|
||||
Tokio named-pipe clients and server instances for the same JSONL protocol.
|
||||
- `[x]` Unary control, SSH proxying, and TCP byte forwarding share one async
|
||||
local-stream abstraction without adding another executable or remote
|
||||
transport.
|
||||
- `[x]` Unix-socket forwarding is cfg-gated with an explicit unsupported
|
||||
result on Windows, and a platform transport roundtrip runs in CI tests.
|
||||
|
||||
- `[x]` Make startup modes and the daemon lifecycle discoverable.
|
||||
Acceptance criteria:
|
||||
- `[x]` Base and nested CLI help explain every command family instead of
|
||||
|
|
@ -346,10 +359,11 @@ control, local CAS, service installation, and written architecture decisions.
|
|||
- `cargo run -p geth -- daemon run` starts one local daemon.
|
||||
- No `gethd` or `gethctl` binaries exist in the workspace.
|
||||
|
||||
- `[x]` Local daemon control socket.
|
||||
- `[x]` Local daemon control endpoint.
|
||||
Acceptance criteria:
|
||||
- Control request/response types roundtrip through JSONL serialization.
|
||||
- `geth status` and `geth node id` talk to a running daemon.
|
||||
- Unix sockets and Windows named pipes carry the same local protocol.
|
||||
- Control decoding treats input as untrusted and returns structured errors.
|
||||
|
||||
- `[x]` Local metadata store and identity.
|
||||
|
|
|
|||
Loading…
Reference in a new issue