Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
50 commits
Select commit Hold shift + click to select a range
9c96fed
Proposal
mdwhatcott May 7, 2026
d7fd035
Initial implementation of harness handler pipeline.
mdwhatcott May 7, 2026
138e8ab
Renaming
mdwhatcott May 7, 2026
52e5252
TODO
mdwhatcott May 7, 2026
4b2c4e5
Change comment so GoLand doesn't flag NewWriter as deprecated.
mdwhatcott May 11, 2026
df3f6d1
Remove TODO
mdwhatcott May 12, 2026
ed3675a
Simplify test wireup.
mdwhatcott May 12, 2026
5d3aea1
Make target for database tests.
mdwhatcott May 12, 2026
c43b5bc
Remove TODO
mdwhatcott May 13, 2026
0ab0a80
Implement paging/batching for recovery routine.
mdwhatcott May 13, 2026
8f6c644
A diagram of the pipeline.
mdwhatcott May 18, 2026
41ac492
Draft of proposal to split HTTP pathway from RMQ.
mdwhatcott May 29, 2026
742d425
New draft of proposal: HandleResult -> Await (void)
mdwhatcott May 29, 2026
e974da3
Draft of proposal prioritizing minimal exported footprint.
mdwhatcott May 29, 2026
c168920
Entrypoint now provides dedicated HTTP pathway.
mdwhatcott May 29, 2026
7518c49
Check for closed chan first to avoid wasted work.
mdwhatcott May 29, 2026
142f5fd
fmt
mdwhatcott Jun 1, 2026
7c4f36d
Consistent receiver.
mdwhatcott Jun 1, 2026
6fdfa39
Ensure log line is emitted in all cases.
mdwhatcott Jun 1, 2026
d6c1ba0
Draft fix for mismanaged (pooled) waitgroup.
mdwhatcott Jun 1, 2026
589f29b
Resolve potential corruption of pooled (reused) waitgroup.
mdwhatcott Jun 1, 2026
2cb1352
When configured serialization fails, fall back to fmt.Sprintf("%#v").
mdwhatcott Jun 1, 2026
2697c8f
Proposed resolution of unbounded retry loops at shutdown.
mdwhatcott Jun 1, 2026
e9acfe7
Clarifications
mdwhatcott Jun 1, 2026
4308c7a
Avoid potentially unsafe type conversions.
mdwhatcott Jun 1, 2026
d08c998
More clarification.
mdwhatcott Jun 1, 2026
574396f
Bound the unbounded retry loops in `persistence` and `broadcast`.
mdwhatcott Jun 1, 2026
4cb9ab7
Proposal to address serialization ownership.
mdwhatcott Jun 1, 2026
8368955
Refine serialization ownership proposal.
mdwhatcott Jun 2, 2026
9135b53
Convert proposal to HTML
mdwhatcott Jun 2, 2026
778e02d
Implement proposal to resolve ownership of encoding.
mdwhatcott Jun 2, 2026
bf80c8b
Commented and simplified a few tricky areas.
mdwhatcott Jun 2, 2026
a82d221
Remove monitoring of in-flight units of work.
mdwhatcott Jun 3, 2026
39e13de
Prove the wait func.
mdwhatcott Jun 3, 2026
eb52a8e
Annoying last little bit of test coverage for the package.
mdwhatcott Jun 3, 2026
41f6a9d
Increase pipeline channel buffers.
mdwhatcott Jun 3, 2026
9e78b0f
Better names for some options; godoc comment for each option.
mdwhatcott Jun 3, 2026
6743530
Rename (and unexport backing fields)
mdwhatcott Jun 3, 2026
b232570
Fix broken test.
mdwhatcott Jun 3, 2026
e6a5997
Remove comment.
mdwhatcott Jun 4, 2026
004040a
More overt and integrated way to expose the entrypoint for HTTP.
mdwhatcott Jun 4, 2026
d833234
New returns a result struct with all pipeline components.
mdwhatcott Jun 4, 2026
2e2adb6
Use *Message for writer interface.
mdwhatcott Jun 5, 2026
3fd8dc4
Use *Message for dispatcher interface.
mdwhatcott Jun 5, 2026
541a388
Use *Message everywhere.
mdwhatcott Jun 5, 2026
e5f1864
Remove unused fields.
mdwhatcott Jun 5, 2026
2b7c630
It is the model's responsibility to only produce json-compatible values.
mdwhatcott Jun 8, 2026
3605ce6
Restore a few checks and tests to ensure proper handling of message IDs.
mdwhatcott Jun 9, 2026
695e56c
Add reference to official documentation.
mdwhatcott Jun 9, 2026
c82c508
Fail fast when serialization is unsuccessful.
mdwhatcott Jun 9, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,12 @@
test: fmt
go test -timeout=1s -short -race -covermode=atomic ./...

test.db: test
go test -timeout=30s -race -covermode=atomic github.com/smarty/messaging/v3/handlers/harness/sqladapter

test.db.local:
(docker compose -f doc/docker-compose.yml up --wait && $(MAKE) test.db --no-print-directory); docker compose -f doc/docker-compose.yml down

fmt:
go mod tidy && go fmt ./...

Expand Down
13 changes: 13 additions & 0 deletions doc/docker-compose.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
services:
mysql:
image: mysql:8.0
environment:
MYSQL_ALLOW_EMPTY_PASSWORD: 1
MYSQL_DATABASE: messaging
ports:
- 3306:3306
healthcheck:
test: "mysql -uroot -e 'select 1'"
interval: 2s
timeout: 20s
retries: 10
File renamed without changes.
291 changes: 291 additions & 0 deletions doc/work-sessions/2026/2026-05-07_13-06-13-proposal-import-harness.md

Large diffs are not rendered by default.

236 changes: 236 additions & 0 deletions doc/work-sessions/2026/2026-05-14_pipeline-component-diagram.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading