Разбираю FIX/FAST данные, всё понятно, кроме правила перехода номера последовательности на 1. Максимальный номер последовательности MsgSeqNum(34), после которого происходит переход на 1, часто меняется даже в рамках одного канала. Поэтому возникает вопрос. Если номер последовательности MsgSeqNum(34) перешел на 1, то как проверить, не были ли потеряны сообщения? Например, если после MsgSeqNum = 999 пришло сообщение с MsgSeqNum = 1, то как быть уверенным, что не потеряны сообщения с MsgSeqNum = 1000, 1001 и тд?
Последний раз редактировалось автором 27.01.2020 16:35, всего редактировалось 1 раз
Перед сбросом MsgSeqNum приходит сообщение типа Sequence Reset с полем NewSeqNo в котором указан новый номер последовательности.
Т.е. приходит сообщение 1000 формата Sequence Reset с полем NewSeqNo = 2, это означает что нужно сбросить последовательность на 2 и следующее сообщение придет с MsgSeqNum = 2. И соответственно сообщений с номерами больше 1000 не должно быть и сообщений с номерами меньше 2 тоже не должно быть