Bancor & StackBlitzed
Привет, ты когда-нибудь пробовал поковыряться в торговом боте в три ночи, чтобы поймать эту ошибку в логике книги заявок? Я тут рылся в исходниках по той, что ты упоминал, и клянусь, проблема с таймингом прячется где-то в забытом асинхронном вызове. Как думаешь, что к чему?
Привет, Банкор.
Похоже на типичную гонку данных. Вынеси асинхронный вызов отдельно, записывай время получения каждого сообщения и сравни его с моментами срабатывания таймеров. Если порядковые номера сбиваются, ты увидишь пропуск непосредственно перед возвратом вызова. Затем либо заблокируй критическую секцию, либо добавь небольшую задержку, чтобы состояние книги заявок оставалось согласованным. Держи логи минимальными – только время, операция и хэш состояния – чтобы точно отслеживать момент несоответствия. Это должно помочь выявить, откуда проскакивает этот сбой в нумерации.