void IApplication.ToApp(FixMessage message, SessionID sessionId) { if (_Log.IsTraceEnabled) { _Log.Trace().PrintFormat("[{0}] >-> {1}", sessionId, message.PrettyPrint().Preformatted()); } var seqNumber = message.Header.GetInt(34 /* MsgSeqNum */); switch (message) { case NewOrderSingle msg: // Запоминаем связку (N сообщения, ID транзакции) _newOrderTransactions.RememberSeqNumber(seqNumber, msg.ClOrdID.Obj); break; case OrderCancelRequest msg: // Запоминаем связку (N сообщения, ID транзакции) _killOrderTransactions.RememberSeqNumber(seqNumber, msg.ClOrdID.Obj); break; case OrderCancelReplaceRequest msg: // Запоминаем связку (N сообщения, ID транзакции) _modifyOrderTransactions.RememberSeqNumber(seqNumber, msg.ClOrdID.Obj); break; } }
void IApplication.FromApp(FixMessage message, SessionID sessionId) { if (_Log.IsTraceEnabled) { _Log.Trace().PrintFormat("[{0}] <-< {1}", sessionId, message.PrettyPrint().Preformatted()); } switch (message) { case Reject msg: Handle(msg); break; case ExecutionReport msg: Handle(msg); break; case OrderCancelReject msg: Handle(msg); break; default: _Log.Warn().PrintFormat("Unexpected message: {0}", message.GetType().Name); break; } }
void IApplication.FromAdmin(FixMessage message, SessionID sessionId) { if (_Log.IsTraceEnabled) { _Log.Trace().PrintFormat("[{0}] <=< {1}", sessionId, message.PrettyPrint().Preformatted()); } }