feat(raft-drive-async): bound peer connect (O_NONBLOCK+poll), close tasks 1.3/1.4/1.5
socket_connect sets O_NONBLOCK before connect and bounds the attempt with poll(timeout); new connect_timeout_ms param (0=DEFAULT_CONNECT_TIMEOUT_MS); all 5 callers updated (ha.c x3, client.c, xcectx.c). Revalidation Trigger: shared netio helper signature changed. Broad build links all components; xcelib_test 278/0, controller_unit_test 194/0. 1.4/1.5 unit tests satisfied by the TDD output of 1.2/1.3 (test_slowlane.c, test_netio_bounded_connect.c).
This commit is contained in:
parent
5650acd375
commit
0781c6c027
9 changed files with 289 additions and 18 deletions
|
|
@ -17,7 +17,7 @@ Tasks mirror the design's 4-phase migration. The slow lane is foundational (ever
|
|||
- _Requirements: 3.1, 3.2, 3.3, 3.4, 1.5_
|
||||
- _Boundary: SlowLane_
|
||||
|
||||
- [ ] 1.3 Bound the peer connect path
|
||||
- [x] 1.3 Bound the peer connect path
|
||||
- Reorder `socket_connect` to set non-blocking before connect and bound the attempt with a poll timeout (reuse the existing probe pattern); return success/timeout/error.
|
||||
- Update connect callers to pass the configured timeout.
|
||||
- Observable: a connect to an unreachable host returns within the configured timeout instead of the OS connect timeout; a connect to a reachable host still succeeds.
|
||||
|
|
@ -25,14 +25,14 @@ Tasks mirror the design's 4-phase migration. The slow lane is foundational (ever
|
|||
- _Boundary: BoundedConnect_
|
||||
- _Depends: 1.1_
|
||||
|
||||
- [ ] 1.4 (P) SlowLane unit tests
|
||||
- [x] 1.4 (P) SlowLane unit tests
|
||||
- Assert non-blocking submit, admission-cap bounds on concurrency, per-key dedup returns the deduped result, and run-exactly-once.
|
||||
- Observable: tests pass and fail if the cap or dedup is removed.
|
||||
- _Requirements: 3.1, 3.2, 3.3, 3.4, 1.5_
|
||||
- _Boundary: SlowLane_
|
||||
- _Depends: 1.2_
|
||||
|
||||
- [ ] 1.5 (P) Bounded-connect unit test
|
||||
- [x] 1.5 (P) Bounded-connect unit test
|
||||
- Assert `socket_connect` returns within the timeout against an unreachable host and succeeds against a reachable one.
|
||||
- Observable: test passes; reverting the reorder makes it hang/fail.
|
||||
- _Requirements: 2.3_
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue