quickfix
quickfix copied to clipboard
The Go FIX Protocol Library :rocket:
In https://github.com/quickfixgo/quickfix/pull/485 a mutex has been added to FieldMap to make it Thread Safe. However, in the same PR, the Message pool mechanism has also been removed so Messages are...
Key Optimizations: ✅ Replaces `fallthrough` with map lookups • Instead of a long switch with repeated `fallthrough` statements, we use `map[string]bool`. • This makes lookups `O(1)` instead of scanning all...
Related to #692 which tries to including binary signatures in the Trailer. There is support for one length prefix, namely for XML data. The same code can be used for...
Could you add the option to validate or not the order of the tags in the **Repeating Group?** Today it is only possible in the message as a whole, but...
I have replaced the locking of fieldmap with haxmap (A lightning fast concurrent hashmap): https://github.com/alphadose/haxmap
I sent an Order: 8=FIX.4.49=12935=D34=249=TVKD52=20241223-09:04:49.47156=MXVTDGW1=TVKD_00511=Uk2mhtDJxY338=140=154=155=VN30F210659=08000=005P99999910=246 And i received a message: 8=FIX.4.49=11335=334=252=20241223-09:04:49.59045=2372=D355=Contract code is not supported373=CONTRACT_CODE_NOT_SUPPORTED10=031 I found reject message in file log but i can't see it when i print...
### Description When calling `acceptor.Stop()` immediately after `acceptor.Start()`, there appears to be a data race for the sync.Once variable in session `stopOnce` when these two functions are called in succession....
Adding [fuzzing](https://go.dev/doc/security/fuzz/) support in `quickfix`; The bugs I found https://github.com/quickfixgo/quickfix/issues/678.
### Test code for `TestParserBug` ```go /* parser_test.go */ func TestParserBug(t *testing.T) { parser := newParser(strings.NewReader(string("8=\x019=119999999999999999999999999999999999999999999999999999999999970\x01"))) _, _ = parser.ReadMessage() } ``` #### Crash stack trace ```bash $ go test...