Commit Graph
21 Commits
Author SHA1 Message Date
Jay 6004ab0ad6 guard the connection closed flag with atomic access 2026-08-11 19:20:39 -04:00
Jay 296872faee reject sub-10ns ping intervals and clamp pinger jitter 2026-08-11 16:09:54 -04:00
Jay 7851d22c22 report read limit violations on EventDisconnected via ErrReadLimit sentinel 2026-08-10 16:02:57 -04:00
Jay 19810798a7 config: add a read limit option to the connection.
By default, the read limit is never set by NewConnection.
When using the default pool dialer, a read limit of 512KB is set.
When the read limit option is set, all sockets passed to NewConnection have that read limit set.
2026-08-10 12:16:23 -04:00
Jay a46e9f7ad8 refactor: phase 2 integrated new dialer into worker 2026-06-06 17:32:03 -04:00
Jay 7bc576ed98 refactor: phase 1, splitting connection and retry responsibilities in transport package. 2026-06-05 17:38:42 -04:00
Jay 84aa9aaf98 test: replace manual config struct literals with constructors 2026-06-04 19:56:00 -04:00
Jay a574b3e5ae transport: thread onDialError through Connection.Connect 2026-06-04 19:31:12 -04:00
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 c4d35fe6fa transport: flatten RetryConfig to value type, replace nil sentinel with Disabled bool 2026-05-26 14:01:14 -04:00
Jay b44a46ed2f Migrate logging to go-mana-component; delete logging/ package
Replaces the flat key-value logging scheme with component-based structured
logging via go-mana-component. Each layer (pool, worker, connection) builds
its own component identity and derives a *slog.Logger from a caller-supplied
slog.Handler.

- Delete logging/ package (logging.go, logging_test.go)
- Strip LoggingEnabled and LogLevel from ConnectionConfig, PoolConfig,
 WorkerConfig; remove associated option funcs
- Change NewConnection and NewConnectionFromSocket to accept ctx and
 slog.Handler instead of *slog.Logger; constructors build component
 identity via MustNew/MustExtend internally
- Change WorkerFactory, NewWorker, connect, and RunDialer to carry
 slog.Handler; remove PoolPlugin.Handler
- Change NewPool to establish pool component identity via MustNew;
 remove pool_id field, PoolPlugin.ID, and ErrInvalidPoolID
- Fix data race in MockSlogHandler: WithAttrs now shares parent mutex
 pointer rather than allocating a new one per child
- Run go fix
2026-05-20 13:04:58 -04:00
jay ab641e8313 introduced http header to connection 2026-04-30 14:09:41 -04:00
jay e32bbc99d8 implemented ping-pong heartbeats. adjusted logs and defaults. 2026-04-24 09:59:01 -04:00
jay fd806c0231 Consolidated redundant socket mocking function. 2026-04-20 17:37:30 -04:00
jay 3066802f62 Update error handling. 2026-04-19 15:21:10 -04:00
jay 0715bde29d Completed worker session tests. 2026-04-19 10:40:23 -04:00
jay 45b1a31cbb Wrote session dial tests. Use new helpers. 2026-04-19 09:58:41 -04:00
jay 29020369e1 Changed send to be synchronous. Wrote session inner gorountines. 2026-04-18 21:44:25 -04:00
jay 2b6afbbf94 Added context cancellation tests. 2026-04-18 18:01:22 -04:00
jay 10c29c8330 Injected context cancellation for dial and retry cancellation. 2026-04-18 17:11:22 -04:00
jay 7dab8031ea Refactored package structure. 2026-04-17 14:53:29 -04:00