117 Commits

Author SHA1 Message Date
Jay d04341bfa2 docs: update README, CONFIG, EXTEND for config/dialer refactoring v0.5.0 2026-05-26 15:08:33 -04:00
Jay 8c1371e3a0 pool: add ConnectOption/WithDialer for per-call dialer override on Connect 2026-05-26 14:59:03 -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 695389798e config: add Dialer field to ConnectionConfig and PoolConfig with option constructors 2026-05-26 14:17:58 -04:00
Jay fac62c0675 config: flatten WorkerConfig to value type in PoolConfig 2026-05-26 14:13:40 -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 bcbdb79b32 fix logging_test: align expected log levels to current source 2026-05-26 13:43:09 -04:00
Jay a721eabd48 place attribute on handler 2026-05-21 17:02:07 -04:00
Jay f144a2a724 update logging 2026-05-21 08:19:37 -04:00
Jay 90c0783953 increment year v0.4.0 2026-05-20 23:03:44 -04:00
Jay c8c8a528f6 cleanup 2026-05-20 23:03:06 -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 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 5b31db304a Updated documentation. 2026-05-20 10:44:53 -04:00
Jay 59f7b86a2e minor fixes 2026-05-20 09:05:49 -04:00
Jay ecd036b4eb Remove deprecated worker fields 2026-05-20 08:57:27 -04:00
Jay 6facb6eed0 remove references to the queue 2026-05-20 08:53:46 -04:00
Jay 093a56ea56 gut inbound and queue. promote outbound to honeybee. 2026-05-20 08:46:13 -04:00
Jay ba5484e0dd collapse queue/forwarder path: reader writes directly to pool inbox 2026-05-20 08:37:44 -04:00
Jay 8c7e3c3ee6 fix RunDialer: drain dial signals only after successful connect 2026-05-20 08:19:46 -04:00
Jay 09257e39b4 refactor: add idle watchgod to transport 2026-05-20 08:10:02 -04:00
jay b8a2d47846 Remove root honeybee package; promote inbound and outbound as primary API
- Delete honeybee.go (coincidental-strength re-export module)
- Add Socket, InboxMessage, NormalizeURL re-exports to inbound/pool.go
- Add InboxMessage, Dialer, NormalizeURL re-exports to outbound/pool.go
- Add Socket, Dialer re-exports to honeybeetest/mocks.go
- Update README, CONFIG, EXTEND to reflect new import structure
v0.3.1
2026-05-18 09:25:55 -04:00
jay 9616764899 updated documentation 2026-05-12 11:10:43 -04:00
jay 89ec7e2ab7 removed pool errors channels 2026-05-12 10:59:50 -04:00
jay 56c2539249 added queue optimizations and depth monitoring. 2026-05-08 14:47:28 -04:00
jay c87a8cce6f Add timestamp to pool events. 2026-05-06 15:23:30 -04:00
jay efdbf7b37f promote inbox message to a shared type 2026-05-03 10:41:11 -04:00
jay ab641e8313 introduced http header to connection 2026-04-30 14:09:41 -04:00
jay 6332e4438e updated documentation. 2026-04-24 15:12:56 -04:00
jay 6a3ba05fd5 introduce statistics collection 2026-04-24 13:48:52 -04:00
jay 4ac2c488ad various improvements 2026-04-24 10:59:33 -04:00
jay e32bbc99d8 implemented ping-pong heartbeats. adjusted logs and defaults. 2026-04-24 09:59:01 -04:00
jay 3091c5dfd8 remove reconnect delay for testing 2026-04-24 07:52:13 -04:00
jay 9daa9a3d25 log debug if error is from a self-close 2026-04-24 07:48:47 -04:00
jay 7e7b18bb2a Increase keepalive timeout. Add reconnection delay. 2026-04-23 21:26:40 -04:00
jay 0ac8d9facd Added logging to pools and workers. 2026-04-23 20:58:57 -04:00
jay 230e6e608a Fix log level bugs. 2026-04-23 19:24:40 -04:00
jay 3f0d95955c Update log levels. 2026-04-23 19:00:01 -04:00
jay a3c1e684be Export new config options. 2026-04-23 18:54:00 -04:00
jay 2a6cd3a487 Add granunal logging config controls. 2026-04-23 18:48:47 -04:00
jay 727dc18b57 Add slog attributes at pool, worker, and connection levels. 2026-04-23 17:58:40 -04:00
jay 91717457dd Export url normalizer. 2026-04-23 10:46:31 -04:00
jay b034e97204 update copy 2026-04-21 08:02:25 -04:00
jay daf9f7534e Various performance and correctness improvements. 2026-04-20 22:41:37 -04:00
jay 72b1ca7ad1 Updated readme 2026-04-20 18:05:54 -04:00
jay 2d46b6addb Updated api 2026-04-20 18:05:44 -04:00
jay 111d813bdf Updated name. 2026-04-20 18:05:32 -04:00
jay 2c7b22b3d9 Removed wg from worker start. Fixed various races. 2026-04-20 17:54:03 -04:00