Commit Graph

8 Commits

Author SHA1 Message Date
Jay d4da16f82a transport: copy-on-intake in NewConnection/NewPool; add ConnectionConfig.Clone; remove SetDialer; dialer via config 2026-05-26 14:46:10 -04:00
Jay c82e0184f5 config: flatten ConnectionConfig to value type in PoolConfig 2026-05-26 14:11:03 -04:00
Jay c4d35fe6fa transport: flatten RetryConfig to value type, replace nil sentinel with Disabled bool 2026-05-26 14:01:14 -04:00
Jay f1afca7921 cleanup and refactors 2026-05-20 22:49:25 -04:00
Jay cda6d286ab refactor(worker): collapse session goroutines into single runSession loop
Replace the five-goroutine session model (RunDialer, RunKeepalive,
RunReader, RunHeartbeatForwarder, RunStopMonitor, Session) with a single
DefaultWorker.runSession method containing two select loops: one
pre-connection and one connected. Ephemeral dial goroutines replace
RunDialer; the keepalive timer and heartbeat reset are inlined. No
exported building-block symbols remain.

Consolidate worker_dialer_test.go, worker_session_test.go, and
worker_start_test.go into worker_test.go. Add seven new behavioral
tests covering dial failure, keepalive-driven dial replacement,
pre-connection stop, message delivery with timestamp, sustained
activity and pong resetting the keepalive timer, keepalive-triggered
reconnect, and nil connection pointer after disconnect.
Update EXTEND.md and README.md to remove references to the deleted

building blocks and document the single worker replacement pattern
2026-05-20 18:17:04 -04:00
jay 7dab8031ea Refactored package structure. 2026-04-17 14:53:29 -04:00
jay d27e783729 Initial buildout of worker pattern. 2026-04-17 13:29:49 -04:00
jay 043fba0198 Create worker module. 2026-04-17 08:53:52 -04:00