#protocols #finance #quickfix #fix-protocol
#протоколы #финансы #быстрое исправление #исправление-протокол
Вопрос:
Итак, мой клиент запрашивает заполнение пробелов, потому что наши последовательности отключены. Вместо воспроизведения сообщений я хочу отправить набор последовательностей. Мой вопрос прост: какой должна быть последовательность сообщений этого набора последовательностей, который я собираюсь ему отправить? Я не хочу, чтобы мой клиент отбрасывал его, потому что он не распознает последовательность сообщений в моем наборе последовательностей, или обнаруживает пробел и запрашивает другое заполнение пробелов, что поставило бы меня в бесконечный цикл.
Должен ли я отправлять свой набор последовательностей с последовательностью первого сообщения, которое клиент запросил для воспроизведения?
Повторяются ли сообщения сеанса во время заполнения пробелов?
Клиент удаляет сообщения сеанса, если их последовательность отключена? (Я бы так подумал).
Итак, подводя итог, мой вопрос:
Какую последовательность я должен использовать в наборе последовательностей после заполнения пробелов клиентом, чтобы мой клиент действительно мог обработать мой набор последовательностей и продолжить работу?
Ответ №1:
Существует два типа набора последовательностей:
1. With GapFillFlag = 'Y'
2. With GapFillFlag = 'N'
Для 1. принимающая сторона должна ИГНОРИРОВАТЬ MsgSeq в сообщении и просто обработать его.
Для 2. отправляющая сторона должна сделать MsgSeq равным BeginSeq, чтобы принимающая сторона не запрашивала заполнение пробелов снова, как вы описали.
Из спецификации исправления:
Если поле GapFillFlag присутствует (и равно Y), значение MsgSeqNum должно соответствовать стандартным правилам последовательности сообщений (т. Е. значение MsgSeqNum сообщения о сбросе последовательности-заполнении пробелов должно представлять начальное значение MsgSeqNum в диапазоне заполнения пробелов, поскольку удаленная сторона ожидает это следующее сообщение).