我有一个QuickFIX发起人,可以接收频繁的市场数据更新 尽管我尽可能快地处理每个更新,但我仍然对回调感到担忧 让我们说,QuickFIX调用了我的回调函数,当我正在处理它时,它会在前一次调用之前再次调用我的函数。在这种情况下会发生什么?是否保证我将被呼叫下一个电话或引擎可以跳过它,因为之前的呼叫仍在进行? 感谢
答案 0 :(得分:1)
如果消息没有格式错误,则是,应该为每个收到的消息触发回调。
(如果格式错误,引擎会自动拒绝,并且不会将消息传递给您的应用程序代码。)
传入的消息实际上是在处理它们时在队列中收集的。因此,您不应在回调中执行时间密集型操作。如果你有一些冗长的处理,你应该将它发送到另一个线程,以免导致队列备份。