private static void ProcessMarketOrder(string queueName, MarketOrder[] orders) { var sessionInfo = SessionInfo.Instance.dicQueueSession.First(s => s.MessageQueue == queueName); Logger.InfoFormat("Получено {0} ордеров из очереди {1}", orders.Length, queueName); foreach (var order in orders) { Message msg; try { msg = FixMessageMaker.Instance.MakeMessage(order, sessionInfo); } catch (Exception ex) { Logger.Error("ProcessMarketOrder: ошибка форматирования сообщения", ex); continue; } if (msg == null) { continue; } try { FixApplication.SendMessage(msg); } catch (Exception ex) { Logger.Error("ProcessMarketOrder: ошибка отправки сообщения", ex); } } }
private static void RequestTicker(string ticker, SessionID sessionId) { if (sessionId == null) { return; } Message msg; try { msg = MakeQuoteRequest(ticker, sessionId); } catch (Exception ex) { Logger.Error("QuoteRequest.RequestTicker: ошибка форматирования сообщения", ex); return; } if (msg == null) { Logger.ErrorFormat("Ошибка сборки сообщения (запрос котировки) для {0}, {1}", ticker, sessionId); return; } try { Logger.InfoFormat("Отправка запроса \"{0}\": {1}", ticker, msg); FixApplication.SendMessage(msg); } catch (Exception ex) { Logger.Error("QuoteRequest.RequestTicker: ошибка отправки сообщения", ex); } }
private FixProxyServer() { quoteRequest = new QuoteRequest(); FileStoreFactory mesStoreFact; DefaultMessageFactory mesFact; SessionSettings sets; try { sets = new SessionSettings(string.Format("{0}\\{1}", ExecutablePath.ExecPath, SessionSettingsParser.SessionSettingsFileName)); SessionSettingsParser.Init(string.Format("{0}\\{1}", ExecutablePath.ExecPath, SessionSettingsParser.SessionSettingsFileName)); app = new FixApplication(); app.processMessageFromBroker += MessageDispatcher.ProcessMessageFromBroker; mesStoreFact = new FileStoreFactory(string.Format("{0}\\log", ExecutablePath.ExecPath)); mesFact = new DefaultMessageFactory(); app.OnSessionLogon += AppOnSessionLogon; } catch (Exception ex) { Logger.Error("SocketInitiator pre-create error", ex); throw; } try { initiator = new SocketInitiator(app, mesStoreFact, sets, mesFact); } catch (Exception ex) { Logger.Error("SocketInitiator create error", ex); throw; } }