protected override void Init() { this.application = (QuickFIX42Application)this.CreateApplicationInstance(); Dictionary dictionary = new Dictionary(); dictionary.setString(BeAEwTZGlZaeOmY5cm.J00weU3cM6(2820), BeAEwTZGlZaeOmY5cm.J00weU3cM6(2852)); dictionary.setLong(BeAEwTZGlZaeOmY5cm.J00weU3cM6(2874), this.HeartBtInt); dictionary.setString(BeAEwTZGlZaeOmY5cm.J00weU3cM6(2898), this.StartTime.ToString()); dictionary.setString(BeAEwTZGlZaeOmY5cm.J00weU3cM6(2920), this.EndTime.ToString()); dictionary.setLong(BeAEwTZGlZaeOmY5cm.J00weU3cM6(2938), this.ReconnectInterval); dictionary.setString(BeAEwTZGlZaeOmY5cm.J00weU3cM6(2976), this.BeginString); dictionary.setString(BeAEwTZGlZaeOmY5cm.J00weU3cM6(3002), this.DataDictionary); dictionary.setString(BeAEwTZGlZaeOmY5cm.J00weU3cM6(3034), this.FileStorePath); dictionary.setString(BeAEwTZGlZaeOmY5cm.J00weU3cM6(3064), this.FileLogPath); dictionary.setBool(BeAEwTZGlZaeOmY5cm.J00weU3cM6(3090), this.CheckLatency); dictionary.setLong(BeAEwTZGlZaeOmY5cm.J00weU3cM6(3118), this.MaxLatency); dictionary.setBool(BeAEwTZGlZaeOmY5cm.J00weU3cM6(3142), this.SendRedundantResendRequests); dictionary.setBool(BeAEwTZGlZaeOmY5cm.J00weU3cM6(3200), this.ResetOnLogout); dictionary.setBool(BeAEwTZGlZaeOmY5cm.J00weU3cM6(3230), this.ResetOnDisconnect); dictionary.setBool(BeAEwTZGlZaeOmY5cm.J00weU3cM6(3268), this.RefreshOnLogon); dictionary.setBool(BeAEwTZGlZaeOmY5cm.J00weU3cM6(3300), this.TcpNoDelay); this.OnDefaultsSessionSettingsCreated(dictionary); Dictionary settings1 = (Dictionary)null; if (this.PriceSessionEnabled) { settings1 = new Dictionary(); settings1.setString(BeAEwTZGlZaeOmY5cm.J00weU3cM6(3330), this.PriceSocketConnectHost); settings1.setLong(BeAEwTZGlZaeOmY5cm.J00weU3cM6(3368), this.PriceSocketConnectPort); settings1.setString(BeAEwTZGlZaeOmY5cm.J00weU3cM6(3406), this.PriceFileStorePath); this.OnPriceSessionSettingsCreated(settings1); } Dictionary settings2 = (Dictionary)null; if (this.OrderSessionEnabled) { settings2 = new Dictionary(); settings2.setString(BeAEwTZGlZaeOmY5cm.J00weU3cM6(3436), this.OrderSocketConnectHost); settings2.setLong(BeAEwTZGlZaeOmY5cm.J00weU3cM6(3474), this.OrderSocketConnectPort); settings2.setString(BeAEwTZGlZaeOmY5cm.J00weU3cM6(3512), this.OrderFileStorePath); this.OnOrderSessionSettingsCreated(settings2); } SessionID sessionID1 = this.PriceSessionEnabled ? new SessionID(this.BeginString, this.PriceSenderCompID, this.PriceTargetCompID) : (SessionID)null; SessionID sessionID2 = this.OrderSessionEnabled ? new SessionID(this.BeginString, this.OrderSenderCompID, this.OrderTargetCompID) : (SessionID)null; this.sessionSettings = new SessionSettings(); this.sessionSettings.set(dictionary); if (this.PriceSessionEnabled) { this.sessionSettings.set(sessionID1, settings1); } if (this.OrderSessionEnabled) { this.sessionSettings.set(sessionID2, settings2); } this.storeFactory = (MessageStoreFactory) new FileStoreFactory(this.sessionSettings); this.logFactory = (LogFactory) new FileLogFactory(this.sessionSettings); this.messageFactory = (MessageFactory) new DefaultMessageFactory(); (this.application as QuickFIX42CommonApplication).adf1ZbrcY(sessionID1, sessionID2); }
protected override void Init() { this.application = (QuickFIX43Application)this.CreateApplicationInstance(); Dictionary dictionary = new Dictionary(); dictionary.setString(BeAEwTZGlZaeOmY5cm.J00weU3cM6(4682), BeAEwTZGlZaeOmY5cm.J00weU3cM6(4714)); dictionary.setLong(BeAEwTZGlZaeOmY5cm.J00weU3cM6(4736), this.HeartBtInt); dictionary.setString(BeAEwTZGlZaeOmY5cm.J00weU3cM6(4760), this.StartTime.ToString()); dictionary.setString(BeAEwTZGlZaeOmY5cm.J00weU3cM6(4782), this.EndTime.ToString()); dictionary.setLong(BeAEwTZGlZaeOmY5cm.J00weU3cM6(4800), this.ReconnectInterval); dictionary.setString(BeAEwTZGlZaeOmY5cm.J00weU3cM6(4838), this.BeginString); dictionary.setString(BeAEwTZGlZaeOmY5cm.J00weU3cM6(4864), this.DataDictionary); dictionary.setString(BeAEwTZGlZaeOmY5cm.J00weU3cM6(4896), this.FileStorePath); dictionary.setString(BeAEwTZGlZaeOmY5cm.J00weU3cM6(4926), this.FileLogPath); dictionary.setBool(BeAEwTZGlZaeOmY5cm.J00weU3cM6(4952), this.CheckLatency); dictionary.setLong(BeAEwTZGlZaeOmY5cm.J00weU3cM6(4980), this.MaxLatency); dictionary.setBool(BeAEwTZGlZaeOmY5cm.J00weU3cM6(5004), this.ResetOnLogout); dictionary.setBool(BeAEwTZGlZaeOmY5cm.J00weU3cM6(5034), this.ResetOnDisconnect); this.OnDefaultsSessionSettingsCreated(dictionary); Dictionary settings1 = (Dictionary)null; if (this.PriceSessionEnabled) { settings1 = new Dictionary(); settings1.setString(BeAEwTZGlZaeOmY5cm.J00weU3cM6(5072), this.PriceSocketConnectHost); settings1.setLong(BeAEwTZGlZaeOmY5cm.J00weU3cM6(5110), this.PriceSocketConnectPort); settings1.setString(BeAEwTZGlZaeOmY5cm.J00weU3cM6(5148), this.PriceFileStorePath); this.OnPriceSessionSettingsCreated(settings1); } Dictionary settings2 = (Dictionary)null; if (this.OrderSessionEnabled) { settings2 = new Dictionary(); settings2.setString(BeAEwTZGlZaeOmY5cm.J00weU3cM6(5178), this.OrderSocketConnectHost); settings2.setLong(BeAEwTZGlZaeOmY5cm.J00weU3cM6(5216), this.OrderSocketConnectPort); settings2.setString(BeAEwTZGlZaeOmY5cm.J00weU3cM6(5254), this.OrderFileStorePath); this.OnOrderSessionSettingsCreated(settings2); } SessionID sessionID1 = this.PriceSessionEnabled ? new SessionID(this.BeginString, this.PriceSenderCompID, this.PriceTargetCompID) : (SessionID)null; SessionID sessionID2 = this.OrderSessionEnabled ? new SessionID(this.BeginString, this.OrderSenderCompID, this.OrderTargetCompID) : (SessionID)null; this.sessionSettings = new SessionSettings(); this.sessionSettings.set(dictionary); if (this.PriceSessionEnabled) { this.sessionSettings.set(sessionID1, settings1); } if (this.OrderSessionEnabled) { this.sessionSettings.set(sessionID2, settings2); } this.storeFactory = (MessageStoreFactory) new FileStoreFactory(this.sessionSettings); this.logFactory = (LogFactory) new FileLogFactory(this.sessionSettings); this.messageFactory = (MessageFactory) new DefaultMessageFactory(); (this.application as QuickFIX43CommonApplication).zWmEpDbll(sessionID1, sessionID2); }
public void testSetGetString() { testObject.setString("key1", "value1"); testObject.setString("key2", "value2"); testObject.setString("key3", "value3"); Assert.AreEqual("value1", testObject.getString("key1")); Assert.AreEqual("value2", testObject.getString("key2")); Assert.AreEqual("value3", testObject.getString("key3")); }
public void testSetGetSessionID() { Dictionary dictionary1 = new Dictionary(); dictionary1.setString( "ConnectionType", "initiator" ); Dictionary dictionary2 = new Dictionary(); dictionary2.setString( "ConnectionType", "acceptor" ); SessionID sessionID1 = new SessionID( "FIX.4.0", "SENDER1", "TARGET1" ); SessionID sessionID2 = new SessionID( "FIX.4.0", "SENDER2", "TARGET2" ); SessionID sessionID3 = new SessionID( "FIX.4.0", "SENDER3", "TARGET3" ); testObject.set( sessionID1, dictionary1 ); testObject.set( sessionID2, dictionary2 ); dictionary1 = testObject.get( sessionID1 ); dictionary2 = testObject.get( sessionID2 ); Assert.AreEqual( "initiator", dictionary1.getString("ConnectionType") ); Assert.AreEqual( "acceptor", dictionary2.getString("ConnectionType") ); try { testObject.get( sessionID3 ); Assert.Fail(); } catch( ConfigError ) {} }
public void testSetGetSessionID() { Dictionary dictionary1 = new Dictionary(); dictionary1.setString("ConnectionType", "initiator"); Dictionary dictionary2 = new Dictionary(); dictionary2.setString("ConnectionType", "acceptor"); SessionID sessionID1 = new SessionID("FIX.4.0", "SENDER1", "TARGET1"); SessionID sessionID2 = new SessionID("FIX.4.0", "SENDER2", "TARGET2"); SessionID sessionID3 = new SessionID("FIX.4.0", "SENDER3", "TARGET3"); testObject.set(sessionID1, dictionary1); testObject.set(sessionID2, dictionary2); dictionary1 = testObject.get(sessionID1); dictionary2 = testObject.get(sessionID2); Assert.AreEqual("initiator", dictionary1.getString("ConnectionType")); Assert.AreEqual("acceptor", dictionary2.getString("ConnectionType")); try { testObject.get(sessionID3); Assert.Fail(); } catch (ConfigError) {} }
public void testSetGetDefault() { Dictionary dictionary = new Dictionary(); dictionary.setString( "ConnectionType", "initiator" ); testObject.set( dictionary ); dictionary = testObject.get(); Assert.AreEqual( "initiator", dictionary.getString( "ConnectionType" ) ); }
public void testSetGetDefault() { Dictionary dictionary = new Dictionary(); dictionary.setString("ConnectionType", "initiator"); testObject.set(dictionary); dictionary = testObject.get(); Assert.AreEqual("initiator", dictionary.getString("ConnectionType")); }
protected override void Init() { Dictionary defaults = new Dictionary(); defaults.setString(nvcneRd3YWS84l4984.Ey6KSwFglw(222), nvcneRd3YWS84l4984.Ey6KSwFglw(254)); defaults.setString(nvcneRd3YWS84l4984.Ey6KSwFglw(276), this.StartTime.ToString()); defaults.setString(nvcneRd3YWS84l4984.Ey6KSwFglw(298), this.EndTime.ToString()); defaults.setBool(nvcneRd3YWS84l4984.Ey6KSwFglw(316), this.SendRedundantResendRequests); defaults.setBool(nvcneRd3YWS84l4984.Ey6KSwFglw(374), this.ResetOnLogout); defaults.setBool(nvcneRd3YWS84l4984.Ey6KSwFglw(404), this.ResetOnDisconnect); defaults.setBool(nvcneRd3YWS84l4984.Ey6KSwFglw(442), this.RefreshOnLogon); defaults.setString(nvcneRd3YWS84l4984.Ey6KSwFglw(474), this.DataDictionary); defaults.setBool(nvcneRd3YWS84l4984.Ey6KSwFglw(506), this.CheckLatency); defaults.setLong(nvcneRd3YWS84l4984.Ey6KSwFglw(534), (int)this.MaxLatency.TotalSeconds); defaults.setLong(nvcneRd3YWS84l4984.Ey6KSwFglw(558), (int)this.ReconnectInterval.TotalSeconds); defaults.setLong(nvcneRd3YWS84l4984.Ey6KSwFglw(596), (int)this.HeartBtInt.TotalSeconds); defaults.setBool(nvcneRd3YWS84l4984.Ey6KSwFglw(620), this.PersistMessages); if (this.PersistMessages) { defaults.setString(nvcneRd3YWS84l4984.Ey6KSwFglw(654), this.FileStorePath); } if (this.LoggingEnabled) { defaults.setString(nvcneRd3YWS84l4984.Ey6KSwFglw(684), this.FileLogPath); } Dictionary settings = new Dictionary(); settings.setString(nvcneRd3YWS84l4984.Ey6KSwFglw(710), this.SocketConnectHost); settings.setLong(nvcneRd3YWS84l4984.Ey6KSwFglw(748), (int)this.SocketConnectPort); SessionID sessionID = new SessionID(nvcneRd3YWS84l4984.Ey6KSwFglw(786), this.SenderCompID, this.TargetCompID); this.sessionSettings = new SessionSettings(); this.sessionSettings.set(defaults); this.sessionSettings.set(sessionID, settings); this.storeFactory = this.PersistMessages ? (MessageStoreFactory) new FileStoreFactory(this.sessionSettings) : (MessageStoreFactory) new MemoryStoreFactory(); this.logFactory = this.LoggingEnabled ? (LogFactory) new FileLogFactory(this.sessionSettings) : (LogFactory) new NullLogFactory(); this.messageFactory = (MessageFactory) new DefaultMessageFactory(); this.application = (QuickFIX42Application) new mWYFJZ8xKCsaXEKF78(this); }
public void Run() { try { logger.Info("*** Iniciado Retransmissor BMF!"); // Cria sessao que será usada para mandar as mensagens SessionID _session = new SessionID( new BeginString(_config.BeginString), new SenderCompID(_config.SenderCompID), new TargetCompID(_config.TargetCompID)); // Cria dicionario da configuracao Dictionary mainDic = new Dictionary(); mainDic.setLong("SocketConnectPort", _config.SocketConnectPort); mainDic.setLong("HeartBtInt", _config.HeartBtInt); mainDic.setLong("ReconnectInterval", _config.ReconnectInterval); mainDic.setBool("ResetOnLogon", _config.ResetSeqNum); mainDic.setBool("PersistMessages", _config.PersistMessages); // Ver // ret.setString("ConnectionType", ConnectionType.ToLower()); mainDic.setString("SocketConnectHost", _config.Host); mainDic.setString("FileStorePath", _config.FileStorePath); logger.Debug("FileLogPath: " + _config.FileLogPath); mainDic.setString("FileLogPath", _config.FileLogPath); mainDic.setString("StartTime", _config.StartTime); mainDic.setString("EndTime", _config.EndTime); mainDic.setString("ConnectionType", "initiator"); Dictionary sessDic = new Dictionary(); sessDic.setString("BeginString", _config.BeginString); sessDic.setString("SenderCompID", _config.SenderCompID); sessDic.setString("TargetCompID", _config.TargetCompID); sessDic.setString("DataDictionary", _config.DataDictionary); sessDic.setBool("UseDataDictionary", true); if (_config.RawData != null && _config.RawData.Length > 0) { sessDic.setString(SessaoFIX.FIX_RAWDATA, _config.RawData); } if (_config.NewPassword != null && _config.NewPassword.Length > 0) { sessDic.setString(SessaoFIX.FIX_NEWPASSWORD, _config.NewPassword); } if (_config.FiltroListaInstrumentos != null && _config.FiltroListaInstrumentos.Length > 0) { sessDic.setString(SessaoFIX.FIX_FILTRO_LISTA_INSTRUMENTOS, _config.FiltroListaInstrumentos); } if (_config.MdReqID != null && _config.MdReqID.Length > 0) { sessDic.setString(SessaoFIX.FIX_MDREQID_PADRAO, _config.MdReqID); } // Configure the session settings SessionSettings sessionSettings = new SessionSettings(); sessionSettings.set(mainDic); sessionSettings.set(_session, sessDic); //MemoryStoreFactory fileStore = new MemoryStoreFactory(); FileStoreFactory fileStore = new FileStoreFactory(sessionSettings); FileLogFactory fileLog = new FileLogFactory(sessionSettings); QuickFix44.MessageFactory message = new QuickFix44.MessageFactory(); SessaoFIX sessaoFIX = new SessaoFIX( sessionSettings, dadosGlobais, filaMensagensFIXInstantaneo, filaMensagensFIXIncremental, filaMensagensRetransmissorBMF); while (this.dadosGlobais.KeepRunning) { Initiator sessao = new ThreadedSocketInitiator( sessaoFIX, fileStore, sessionSettings, fileLog, message); try { logger.Info("Iniciando Sessao FIX..."); sessao.start(); string mensagem = filaFeeder.Pop(); if (mensagem.Contains(ConstantesMDS.TIPOMSG_FIM_CONEXAO)) { break; } logger.Info("Finalizando Sessao FIX..."); sessao.stop(); } catch (Exception ex) { logger.Error("Falha ao enviar mensagem na fila do Retransmissor BMF: " + ex.Message, ex); continue; } } } catch (ConfigError e) { logger.Error("Falha durante configuracao do QuickFix:" + e.Message); return; } catch (Exception ex) { logger.Error("Run(): " + ex.Message, ex); return; } }
public virtual void IniciarServico() { logger.Info("IniciarServico(): iniciando canal Bovespa ...."); // Carrega configurações _config = GerenciadorConfig.ReceberConfig <CanalNegociacaoConfig>(); // Cria sessao que será usada para mandar as mensagens _session = new SessionID( new BeginString(_config.BeginString), new SenderCompID(_config.SenderCompID), new TargetCompID(_config.TargetCompID)); // Cria dicionario da configuracao Dictionary mainDic = new Dictionary(); if (_config.SocketAcceptPort > 0) { mainDic.setLong("SocketAcceptPort", _config.SocketAcceptPort); } mainDic.setLong("SocketConnectPort", _config.SocketConnectPort); mainDic.setLong("HeartBtInt", _config.HeartBtInt); mainDic.setLong("ReconnectInterval", _config.ReconnectInterval); mainDic.setBool("ResetOnLogon", _config.ResetSeqNum); mainDic.setBool("PersistMessages", _config.PersistMessages); // Ver // ret.setString("ConnectionType", ConnectionType.ToLower()); mainDic.setString("SocketConnectHost", _config.Host); mainDic.setString("FileStorePath", _config.FileStorePath); logger.Debug("FileLogPath: " + _config.FileLogPath); mainDic.setString("FileLogPath", _config.FileLogPath); mainDic.setString("StartTime", _config.StartTime); mainDic.setString("EndTime", _config.EndTime); if (_config.Initiator) { mainDic.setString("ConnectionType", "initiator"); } else { mainDic.setString("ConnectionType", "acceptor"); } Dictionary sessDic = new Dictionary(); sessDic.setString("BeginString", _config.BeginString); sessDic.setString("SenderCompID", _config.SenderCompID); sessDic.setString("TargetCompID", _config.TargetCompID); sessDic.setString("DataDictionary", _config.DataDictionary); sessDic.setBool("UseDataDictionary", true); // Configure the session settings SessionSettings settings = new SessionSettings(); settings.set(mainDic); settings.set(_session, sessDic); FileStoreFactory store = new FileStoreFactory(settings); FileLogFactory logs = new FileLogFactory(settings); QuickFix.MessageFactory msgs = new DefaultMessageFactory(); // Cria o socket if (_config.Initiator) { _socketInitiator = new SocketInitiator(this, store, settings, logs, msgs); _socketInitiator.start(); } else { _socketAcceptor = new SocketAcceptor(this, store, settings, logs, msgs); _socketAcceptor.start(); } _status = ServicoStatus.EmExecucao; logger.Info("IniciarServico(): canal Bovespa em execucao...."); }