The repository has an empty description and zero topics. For a repo whose entire purpose is being found and read, that is the binding constraint — nobody arrives by accident.
Cheap and immediate
- A one-line description. Something like: A FIX 4.4 session boilerplate in Go, built around a fake exchange you can command. Learn sequence gaps, resends and stuck sessions with curl.
- Topics:
fix-protocol, fix44, quickfix, quickfixgo, golang, b3, trading, market-data, financial-information-exchange
The part that actually matters
Two things in this repo do not exist anywhere else public, and neither is discoverable from the outside:
-
quickfixgo has no per-session disconnect. The session type is unexported, and Initiator.Stop() unregisters every session it owns, so Start() afterwards leaves them unroutable. Anyone arriving from QuickFIX/J goes looking for Session.disconnect(reason, true) and finds nothing. The workaround — rebuild the Initiator, one session per Initiator — is in internal/session/supervisor.go and is not obvious.
-
The silent session. A session logged on with heartbeats flowing and no business data arriving passes every liveness check FIX has. Detecting it is the application layer's job and nothing in the ecosystem says so. That is drill 09.
Both are currently buried in the README and in docs/drills/09. Someone hitting either problem is searching for the symptom, not for this repo.
Worth a short write-up that leads with the symptom and links here. That is outside the repository itself, but it is the step that determines whether any of this gets read.
Acceptance
- Description and topics set
- A decision recorded on whether the write-up happens (doing it, or explicitly not)
The repository has an empty description and zero topics. For a repo whose entire purpose is being found and read, that is the binding constraint — nobody arrives by accident.
Cheap and immediate
fix-protocol,fix44,quickfix,quickfixgo,golang,b3,trading,market-data,financial-information-exchangeThe part that actually matters
Two things in this repo do not exist anywhere else public, and neither is discoverable from the outside:
quickfixgo has no per-session disconnect. The
sessiontype is unexported, andInitiator.Stop()unregisters every session it owns, soStart()afterwards leaves them unroutable. Anyone arriving from QuickFIX/J goes looking forSession.disconnect(reason, true)and finds nothing. The workaround — rebuild the Initiator, one session per Initiator — is ininternal/session/supervisor.goand is not obvious.The silent session. A session logged on with heartbeats flowing and no business data arriving passes every liveness check FIX has. Detecting it is the application layer's job and nothing in the ecosystem says so. That is drill 09.
Both are currently buried in the README and in
docs/drills/09. Someone hitting either problem is searching for the symptom, not for this repo.Worth a short write-up that leads with the symptom and links here. That is outside the repository itself, but it is the step that determines whether any of this gets read.
Acceptance