quickfix / quickfix

QuickFIX C++ Fix Engine Library
Other
1.58k stars 757 forks source link

Support unsigned 64-bit integers for sequence numbers #419

Open JohnGreenan opened 1 year ago

JohnGreenan commented 1 year ago

Per https://www.fixtrading.org/groups/continuousmkts/ Sequence number resets are a bore.

The implementation proposed is to use an unsigned 64 bit integer for a sequence number.

Using 1 billion sequence numbers per second, that will last for 584 years until they run out.

So we can leave the problem to our great, great, great (more) grandchildren to solve!

Would be good to include a set of test cases so that testing w Continuous Markets WG- 24x7 FIX Best Practise Working Draft_v0.015.docx ith a counterpart engine that maybe uses an int32 or uint32 can be picked up quickly. And cover all the other values that use the seqnum "datatype" delete_me

See attached "[Continuous Markets WG- 24x7 FIX Best Practise Working Draft_v0.015.docx]

JohnGreenan commented 1 year ago

See also https://github.com/da4089/simplefix/issues/50 https://github.com/quickfix-j/quickfixj/issues/621 https://github.com/quickfix/quickfix/issues/419 https://github.com/ferrumfix/ferrumfix/issues/108 https://github.com/connamara/quickfixn/issues/760 https://github.com/paritytrading/philadelphia/issues/365 https://github.com/jcass77/WTFIX/issues/8 https://github.com/real-logic/artio/issues/480

JohnGreenan commented 1 year ago

Now adopted https://www.fixtrading.org/packages/fix-recommended-practices-24x7-sessions/