Example #1
0
        public FixClient(string targetCompId = Const.TargetCompId, string senderCompId = Const.SenderCompId, string uri = Const.Uri, int port = Const.Port)
        {
            var s = new SessionSetting
            {
                TargetCompID     = targetCompId,
                SenderCompID     = senderCompId,
                FixConfiguration = new[]
                {
                    "[DEFAULT]",
                    "ResetOnLogon=Y",
                    "FileStorePath=client",
                    "ConnectionType=initiator",
                    "ReconnectInterval=60",
                    "BeginString=FIX.4.4",
                    @"DataDictionary=ClientFIX44.xml",
                    "SSLEnable=N",
                    @"SSLProtocols=Tls",
                    "SSLValidateCertificates=N",
                    $"SocketConnectPort={port}",
                    "StartTime=00:00:00",
                    "EndTime=00:00:00",
                    "HeartBtInt=10",
                    "LogonTimeout=120",
                    $"SocketConnectHost={uri}",
                    "[SESSION]",
                }
            };

            _log = new LogToConsole();
            var settings     = new SessionSettings(s.GetFixConfigAsReader());
            var storeFactory = new MemoryStoreFactory();
            var logFactory   = new LykkeLogFactory(_log, false, false, false);

            _socketInitiator = new SocketInitiator(this, storeFactory, settings, logFactory);
        }
        public void testSessionSettingsUTF8()
        {
            string configuration = new StringBuilder()
                                   .AppendLine("[DEFAULT]")
                                   .AppendLine("ConnectionType=initiator")
                                   .AppendLine("StartTime=00:00:00")
                                   .AppendLine("EndTime=00:00:00")
                                   .AppendLine("UseDataDictionary=N")
                                   .AppendLine("ReconnectInterval=30")
                                   .AppendLine("[SESSION]")
                                   .AppendLine("BeginString=FIX.4.2")
                                   .AppendLine("SenderCompID=Simor")
                                   .AppendLine("TargetCompID=Tom")
                                   .AppendLine("HeartBtInt=30")
                                   .ToString();

            SessionID sessionID = new SessionID("FIX.4.2", "Simor", "Tom");

            SessionSettings settings = new SessionSettings(new System.IO.StringReader(configuration));

            Assert.That(settings.Get(sessionID).Has(SessionSettings.ENCODING), Is.False);

            SocketInitiator si = new SocketInitiator(new NullApplication(), new MemoryStoreFactory(), settings);

            si.Start();
            var session = Session.LookupSession(sessionID);

            Assert.That(session.Encoding, Is.EqualTo(Encoding.GetEncoding("utf-8")));

            si.Stop();
        }
Example #3
0
        public void Iniciar()
        {
            SessionSettings  settings = new SessionSettings(this.ArquivoConfiguracao);
            FileStoreFactory store    = new FileStoreFactory(settings);
            FileLogFactory   logs     = new FileLogFactory(settings);
            MessageFactory   msgs     = new DefaultMessageFactory();

            // Cria o socket
            if (this.EhInitiator)
            {
                _socketInitiator =
                    new SocketInitiator(
                        this.AplicacaoFix, store, settings, logs, msgs);
                _socketInitiator.start();
            }
            else
            {
                _socketAcceptor =
                    new SocketAcceptor(
                        this.AplicacaoFix, store, settings, logs, msgs);
                _socketAcceptor.start();
            }

            // Envia mensagem para aplicação
            this.AplicacaoFix.Iniciar();
        }
Example #4
0
        public void Parar()
        {
            // Log
            Gradual.OMS.Library.Log.EfetuarLog("HostFix-Parando1", LogTipoEnum.Passagem, "Gradual.OMS.Library");

            // Envia mensagem para aplicação
            this.AplicacaoFix.Parar();

            // Log
            Gradual.OMS.Library.Log.EfetuarLog("HostFix-Parando2", LogTipoEnum.Passagem, "Gradual.OMS.Library");

            // Para o socket
            if (this.EhInitiator)
            {
                _socketInitiator.stop();
                _socketInitiator.Dispose();
                _socketInitiator = null;
            }
            else
            {
                _socketAcceptor.stop();
                _socketAcceptor.Dispose();
                _socketAcceptor = null;
            }

            // Log
            Gradual.OMS.Library.Log.EfetuarLog("HostFix-Parando3", LogTipoEnum.Passagem, "Gradual.OMS.Library");
        }
Example #5
0
        public void Start(string settingFile, bool ResendResult)
        {
            Stop();

            var settings = new SessionSettings(settingFile);

            Account.GetAccountInfo(settings);

            if (ResendResult)
            {
                foreach (var session in settings.getSessions())
                {
                    var dict = settings.get(session as SessionID);

                    var target = dict.getString("FileStorePath") + "\\"
                                 + dict.getString("BeginString") + "-"
                                 + dict.getString("SenderCompID") + "-"
                                 + dict.getString("TargetCompID") + ".seqnums";

                    try
                    {
                        var s = System.IO.File.ReadAllText(target);
                        var d = s.Remove(s.Length - 10);
                        System.IO.File.WriteAllText(target, d + "0000000001");
                    }
                    catch (Exception) {}
                }
            }

            cmdproc = SessionFactory.CommandProcessInstance(Account.target, this.AppReport);
            sock    = new SocketInitiator(cmdproc.App, new FileStoreFactory(settings), settings, new DefaultMessageFactory());
            sock.start();
        }
Example #6
0
        void StartEngine(bool initiator)
        {
            TestApplication      application  = new TestApplication(LogonCallback, LogoffCallback);
            IMessageStoreFactory storeFactory = new MemoryStoreFactory();
            SessionSettings      settings     = new SessionSettings();
            Dictionary           defaults     = new Dictionary();

            defaults.SetString(QuickFix.SessionSettings.FILE_LOG_PATH, _logPath);

            // Put IP endpoint settings into default section to verify that that defaults get merged into
            // session-specific settings not only for static sessions, but also for dynamic ones
            defaults.SetString(SessionSettings.SOCKET_CONNECT_HOST, Host);
            defaults.SetString(SessionSettings.SOCKET_CONNECT_PORT, ConnectPort.ToString());
            defaults.SetString(SessionSettings.SOCKET_ACCEPT_HOST, Host);
            defaults.SetString(SessionSettings.SOCKET_ACCEPT_PORT, AcceptPort.ToString());

            settings.Set(defaults);
            ILogFactory logFactory = new FileLogFactory(settings);

            if (initiator)
            {
                defaults.SetString(SessionSettings.RECONNECT_INTERVAL, "1");
                settings.Set(CreateSessionID(StaticInitiatorCompID), CreateSessionConfig(StaticInitiatorCompID, true));
                _initiator = new SocketInitiator(application, storeFactory, settings, logFactory);
                _initiator.Start();
            }
            else
            {
                settings.Set(CreateSessionID(StaticAcceptorCompID), CreateSessionConfig(StaticAcceptorCompID, false));
                _acceptor = new ThreadedSocketAcceptor(application, storeFactory, settings, logFactory);
                _acceptor.Start();
            }
        }
Example #7
0
        static void Main()
        {
            try
            {
                ClientInitiator      app            = new ClientInitiator();
                SessionSettings      settings       = new SessionSettings(@"C:\Users\anhtv\Desktop\QuickFix\QuickFix\initiator.cfg");
                QuickFix.Application application    = new ClientInitiator();
                FileStoreFactory     storeFactory   = new FileStoreFactory(settings);
                ScreenLogFactory     logFactory     = new ScreenLogFactory(settings);
                MessageFactory       messageFactory = new DefaultMessageFactory();

                SocketInitiator initiator = new SocketInitiator(application, storeFactory, settings, logFactory, messageFactory);
                initiator.start();
                Thread.Sleep(3000);
                System.Collections.ArrayList list = initiator.getSessions();
                SessionID sessionID = (SessionID)list[0];
                Console.WriteLine("Press any key: ");
                string x = Console.ReadLine();
                QuickFix42.NewOrderSingle order = new QuickFix42.NewOrderSingle(new ClOrdID("Hello"), new HandlInst(HandlInst.AUTOMATED_EXECUTION_ORDER_PRIVATE), new Symbol("ABC"), new Side(Side.SELL), new TransactTime(DateTime.Now), new OrdType(OrdType.MARKET));
                bool sent = Session.sendToTarget(order, sessionID);
                Console.ReadLine();
                initiator.stop();
            }
            catch (Exception e)
            {
                Console.WriteLine(e.ToString());
                Console.ReadLine();
            }
        }
Example #8
0
        public virtual void PararServico()
        {
            logger.Info("Finalizando canal Bovespa");

            finalizarSinalizado = true;

            try
            {
                // Para o socket
                if (_config.Initiator)
                {
                    _socketInitiator.stop();
                    _socketInitiator.Dispose();
                    _socketInitiator = null;
                }
                else
                {
                    _socketAcceptor.stop();
                    _socketAcceptor.Dispose();
                    _socketAcceptor = null;
                }
            }
            catch (Exception ex)
            {
                logger.Error("Erro em PararServico():" + ex.Message, ex);
            }
            finally
            {
                _status = ServicoStatus.Parado;
            }


            logger.Info("*** Canal Bovespa finalizado ***");
        }
        private SocketInitiator createInitiator(IApplication app, string encoding)
        {
            string initiatorConfiguration = new StringBuilder()
                                            .AppendLine("[DEFAULT]")
                                            .AppendLine("ConnectionType=initiator")
                                            .AppendLine("StartTime=00:00:00")
                                            .AppendLine("EndTime=00:00:00")
                                            .AppendLine("UseDataDictionary=N")
                                            .AppendLine("ReconnectInterval=30")

                                            .AppendLine("[SESSION]")
                                            .AppendLine("BeginString=FIX.4.2")
                                            .AppendLine("SenderCompID=Simor")
                                            .AppendLine("TargetCompID=Tom")
                                            .AppendLine("HeartBtInt=30")
                                            .AppendLine("SocketConnectHost=127.0.0.1")
                                            .AppendLine("SocketConnectPort=10000")
                                            .AppendLine(encoding != null ? "Encoding=" + encoding : "")
                                            .ToString();

            SessionSettings settings = new SessionSettings(new System.IO.StringReader(initiatorConfiguration));
            SocketInitiator si       = new SocketInitiator(app, new MemoryStoreFactory(), settings, null /*new ScreenLogFactory(true, true,true)*/);

            return(si);
        }
Example #10
0
        static void Main(string[] args)
        {
            AppLogger = new PerDayFileLogSource(Directory.GetCurrentDirectory() + "\\Log", Directory.GetCurrentDirectory() + "\\Log\\Backup")
            {
                FilePattern = "Log.{0:yyyy-MM-dd}.log",
                DeleteDays  = 20
            };

            string path = ConfigurationManager.AppSettings["InitiatorPath"];

            SessionSettings  = new SessionSettings(path);
            FileStoreFactory = new FileStoreFactory(SessionSettings);
            ScreenLogFactory = new ScreenLogFactory(SessionSettings);
            MessageFactory   = new QuickFix.FIX44.MessageFactory();

            Program myProgram = new Program();

            Initiator = new SocketInitiator(myProgram, FileStoreFactory, SessionSettings, ScreenLogFactory);

            Initiator.Start();


            Console.WriteLine("Initiator successfully started...");
            Console.ReadKey();
        }
Example #11
0
 public void Stop()
 {
     if (sock != null)
     {
         sock.stop();
         sock.Dispose();
         sock = null;
     }
 }
Example #12
0
        public void Init(string path)
        {
            sessionSettings = new SessionSettings(path);
            IApplication         fixapp       = new FixApp();
            IMessageStoreFactory storeFactory = new FileStoreFactory(sessionSettings);
            FileLogFactory       logFactory   = new FileLogFactory(sessionSettings);

            initiator = new SocketInitiator(fixapp, storeFactory, sessionSettings, logFactory);
        }
        protected FixTradeSessionConnector(FixConnectorConfiguration config, ILog log)
        {
            _config = config;
            Log     = log.CreateComponentScope(GetType().Name);
            var settings     = new SessionSettings(config.FixConfig);
            var storeFactory = new FileStoreFactory(settings);
            var logFactory   = new LykkeLogFactory(Log, false, false);

            _socketInitiator = new SocketInitiator(this, storeFactory, settings, logFactory);
        }
Example #14
0
 public void Start(IFIXServices fixServices)
 {
     this.fixServices    = fixServices;
     this.settings       = new SessionSettings(settingsPath);
     this.storeFactory   = new FileStoreFactory(this.settings);
     this.logFactory     = new FileLogFactory(this.settings);
     this.messageFactory = new DefaultMessageFactory();
     this.initiator      = new SocketInitiator(this, this.storeFactory, this.settings, this.messageFactory);
     this.initiator.start();
 }
Example #15
0
        public void Start()
        {
            SessionSettings  settings       = new SessionSettings(ConfigFileName);
            FileStoreFactory storeFactory   = new FileStoreFactory(settings);
            FileLogFactory   logFactory     = new FileLogFactory(settings);
            MessageFactory   messageFactory = new DefaultMessageFactory();

            this.initiator = new SocketInitiator(this, storeFactory, settings, logFactory /*optional*/, messageFactory);
            this.initiator.start();
        }
Example #16
0
 public TCT_Fix()
 {
     settings     = new SessionSettings(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "fix", "initiator.cfg"));
     storeFactory = new FileStoreFactory(settings);
     logFactory   = new FileLogFactory(settings);
     initiator    = new SocketInitiator(
         this,
         storeFactory,
         settings,
         logFactory);
 }
        public StockQuotesInitiator(string configFile)
        {
            Settings = new SessionSettings(configFile);
            FileStoreFactory      storeFactory   = new(Settings);
            FileLogFactory        logFactory     = new(Settings);
            DefaultMessageFactory messageFactory = new();

            Sessions        = Settings.GetSessions();
            Application     = new ApplicationWrapper();
            SocketInitiator = new SocketInitiator(Application, storeFactory, Settings, logFactory, messageFactory);
        }
        public bool StartSession(string strHostName, int nPort, string strSenderCompID, string strTargetCompID, string strPassword)
        {
            try
            {
                if (!IsPortOpen(strHostName, nPort, new TimeSpan(0, 0, 10)))
                {
                    return(false);
                }

                string strAppDirPath = Path.GetDirectoryName(System.Windows.Forms.Application.ExecutablePath);

                QuickFix.Dictionary dicConfig = new QuickFix.Dictionary();
                dicConfig.SetString("ConnectionType", "initiator");
                dicConfig.SetDay("StartDay", DayOfWeek.Sunday);
                dicConfig.SetString("StartTime", "00:00:00");
                dicConfig.SetDay("EndDay", DayOfWeek.Saturday);
                dicConfig.SetString("EndTime", "00:00:00");
                dicConfig.SetDouble("HeartBtInt", 20);
                dicConfig.SetDouble("ReconnectInterval", 10);
                dicConfig.SetBool("ResetOnLogout", true);
                dicConfig.SetBool("ResetOnLogon", true);
                dicConfig.SetBool("ResetOnDisconnect", true);
                dicConfig.SetBool("ResetSeqNumFlag", true);
                dicConfig.SetDouble("EncryptMethod", 0);
                dicConfig.SetBool("CheckLatency", false);
                dicConfig.SetString("FileStorePath", strAppDirPath + "/Store/Ctrader_Price");
                dicConfig.SetString("FileLogPath", strAppDirPath + "/Log");
                dicConfig.SetBool("UseDataDictionary", true);
                dicConfig.SetString("DataDictionary", strAppDirPath + "/Settings/FIX44-OneZero.xml");
                dicConfig.SetBool("ScreenLogShowIncoming", false);
                dicConfig.SetBool("ScreenLogShowOutgoing", false);
                dicConfig.SetString("Password", strPassword);

                SessionID           quoteSessionID  = new SessionID("FIX.4.4", strSenderCompID, strTargetCompID);
                QuickFix.Dictionary dicQuoteSession = new QuickFix.Dictionary();
                dicQuoteSession.SetString("SocketConnectHost", strHostName);
                dicQuoteSession.SetDouble("SocketConnectPort", nPort);

                settings = new SessionSettings();
                settings.Set(dicConfig);
                settings.Set(quoteSessionID, dicQuoteSession);

                FileStoreFactory storeFactory = new FileStoreFactory(settings);
                ScreenLogFactory logFactory   = new ScreenLogFactory(settings);
                initiator = new SocketInitiator(this, storeFactory, settings, logFactory);
                initiator.Start();
                return(true);
            }
            catch (System.Exception e)
            {
                Console.WriteLine(e.Message);
                return(false);
            }
        }
Example #19
0
        public JfdQuotesSessionConnector(FixConnectorConfiguration config, ILog log)
        {
            _config = config;
            _log    = log.CreateComponentScope(GetType().Name);
            var settings     = new SessionSettings(config.FixConfig);
            var storeFactory = new FileStoreFactory(settings);
            var logFactory   = new LykkeLogFactory(_log, false, false);

            _socketInitiator = new SocketInitiator(this, storeFactory, settings, logFactory);
            RechargeQuotesTcs();
        }
Example #20
0
        public static void Run(bool isLive = false)
        {
            SessionSettings settings = new SessionSettings(YJYGlobal.GetConfigurationSetting("ayondoFixFeedCfgFilePath"));

            myApp = new AyondoFixFeedApp(YJYGlobal.GetConfigurationSetting("ayondoFixFeedUsername"),
                                         YJYGlobal.GetConfigurationSetting("ayondoFixFeedPassword"));
            IMessageStoreFactory storeFactory =
                new MemoryStoreFactory();
            //new FileStoreFactory(settings);
            //ILogFactory logFactory = new FileLogFactory(settings);
            SocketInitiator initiator = new SocketInitiator(myApp, storeFactory, settings,
                                                            null
                                                            //logFactory
                                                            );

            //var redisClient = YJYGlobal.BasicRedisClientManager.GetClient();
            //var redisProdDefClient = redisClient.As<ProdDef>();
            //var redisTickClient = redisClient.As<Tick>();

            initiator.Start();



            // This will *ONLY* bind to localhost, if you want to bind to all addresses
            // use http://*:8080 to bind to all addresses.
            // See http://msdn.microsoft.com/library/system.net.httplistener.aspx
            // for more information.
            string url   = "http://*:39680";
            var    start = WebApp.Start(url);

            Trace.Listeners.Remove("HostingTraceListener");//remove the trace listener that OWIN added
            Console.WriteLine("Server running on {0}", url);
            //Console.ReadLine();



            //run tasks in NEW threads
            _timerProdDefs       = new Timer(SaveProdDefs, null, _intervalProdDefs, TimeSpan.FromMilliseconds(-1));
            _timerProdDefRequest = new Timer(SendProdDefRequest, null, _intervalProdDefRequest, TimeSpan.FromMilliseconds(-1));
            _timerQuotes         = new Timer(SaveQuotes, null, _intervalQuotes, TimeSpan.FromMilliseconds(-1));
            _timerRawTicks       = new Timer(SaveRawTicks, null, _intervalRawTicks, TimeSpan.FromMilliseconds(-1));
            _timerTicks          = new Timer(SaveTicks, null, _intervalTicks, TimeSpan.FromMilliseconds(-1));
            _timerKLines         = new Timer(SaveKLine, null, _intervalKLine, TimeSpan.FromMilliseconds(-1));
            _timerQuoteBroadcast = new Timer(QuoteBroadcast, null, _intervalQuoteBroadcast, TimeSpan.FromMilliseconds(-1));

            while (true)
            {
                //System.Console.WriteLine("o hai");
                System.Threading.Thread.Sleep(1000);
            }

            //initiator.Stop();
        }
Example #21
0
        public static void Initialize(string settingsFilePath, Router router, FixSessionStatusChangedDelegate sessionStatus)
        {
            _FixSessionStatusChangedDelegate = sessionStatus;
            _router = router;
            SessionSettings  settings     = new SessionSettings(settingsFilePath);
            ClientApp        application  = new ClientApp();
            FileStoreFactory storeFactory = new FileStoreFactory(settings);
            //logFactory = new ScreenLogFactory(settings);
            FileLogFactory logFactory     = new FileLogFactory(settings);
            MessageFactory messageFactory = new DefaultMessageFactory();

            _initiator = new SocketInitiator(application, storeFactory, settings, logFactory, messageFactory);
        }
Example #22
0
        static SessionID StartFixSession(SocketInitiator initiator)
        {
            System.Collections.ArrayList list = initiator.getSessions();
            SessionID sessionID = (SessionID)list[0];

            Session.lookupSession(sessionID).logon();

            while (!Session.lookupSession(sessionID).isLoggedOn())
            {
                Thread.Sleep(1000);
            }
            return(sessionID);
        }
Example #23
0
        public static void Initialize(string settingsFilePath, IRouter router, FixSessionStatusChangedDelegate sessionStatus)
        {
            m_FixSessionStatusChangedDelegate = sessionStatus;
            m_filePath   = settingsFilePath;
            settings     = new SessionSettings(m_filePath);
            application  = new Application(m_initiator, router, m_FixSessionStatusChangedDelegate);
            storeFactory = new FileStoreFactory(settings);
            //logFactory = new ScreenLogFactory(settings);
            FileLogFactory logFactory = new FileLogFactory(settings);

            messageFactory = new DefaultMessageFactory();
            m_initiator    = new SocketInitiator(application, storeFactory, settings, logFactory, messageFactory);
            //m_initiator = new SocketInitiator(application, storeFactory, settings, messageFactory);
        }
Example #24
0
        /// <summary>
        ///     .ctor
        /// </summary>
        public SpectraFixConnector(SpectraFixSettings settings)
        {
            _settings = settings;
            ConnectionStatusProviders = new IConnectionStatusProvider[] { this };
            _newOrderTransactions     = new TransactionContainer(SendMessage);
            _killOrderTransactions    = new TransactionContainer(SendMessage);
            _modifyOrderTransactions  = new TransactionContainer(SendMessage);

            var fixSettings = settings.CreateSessionSettings();

            _sessionId = fixSettings.GetSessions().First();

            _initiator = new SocketInitiator(this, new MemoryStoreFactory(), fixSettings, new LogFactory());
        }
Example #25
0
        static void messageSender(String[] messages, string configFile, string TagsDelimiter)
        {
            SocketInitiator initiator = StartSocketInitiator(configFile);
            SessionID       sessionID = StartFixSession(initiator);

            string[] allDealInst = new string[messages.Length];
            for (int i = 0; i < messages.Length; i++)
            {
                allDealInst[i] = sendFixMessage(sessionID, TagsDelimiter, messages[i]);
            }
            WriteOutputData(String.Join("\n", allDealInst));
            //Console.ReadLine();
            initiator.stop();
        }
Example #26
0
        static void Main(string[] args)
        {
            SessionSettings      settings     = new SessionSettings("SessionConfig.cfg"); //load config file
            IApplication         myApp        = new MyFixApplication();
            IMessageStoreFactory storeFactory = new FileStoreFactory(settings);
            ILogFactory          logFactory   = new FileLogFactory(settings);
            SocketInitiator      fixClient    = new SocketInitiator(
                myApp,
                storeFactory,
                settings,
                logFactory);

            fixClient.Start();  // start connecting to FIX Aceptor
            Console.ReadLine(); //press Enter to stop Fix Client
            fixClient.Stop();
        }
Example #27
0
        static SocketInitiator StartSocketInitiator(String configFile)
        {
            ClientInitiator app      = new ClientInitiator();
            SessionSettings settings = new SessionSettings(configFile);

            QuickFix.Application application    = new ClientInitiator();
            FileStoreFactory     storeFactory   = new FileStoreFactory(settings);
            ScreenLogFactory     logFactory     = new ScreenLogFactory(settings);
            MessageFactory       messageFactory = new DefaultMessageFactory();

            SocketInitiator initiator = new SocketInitiator(application, storeFactory, settings, logFactory, messageFactory);

            initiator.start();
            Thread.Sleep(3000);
            return(initiator);
        }
Example #28
0
        public void initInitiator(string file)
        {
            SessionSettings      settings     = new SessionSettings(file);
            IMessageStoreFactory storeFactory = new FileStoreFactory(settings);
            ILogFactory          logFactory   = new FileLogFactory(settings);

            SocketInitiator initiator = new SocketInitiator(
                this,
                storeFactory,
                settings,
                logFactory
                );

            initiator.Start();
            Run();
            initiator.Stop();
        }
Example #29
0
        public FixDataAccess(ISqlDataAccess sql)
        {
            _sql = sql;
            string          file     = AppDomain.CurrentDomain.BaseDirectory + @"\Internal\FixAccess\tradeclient.cfg";
            SessionSettings settings = new SessionSettings(file);

            fixApp = new QuickFixApp();
            fixApp.FillReceived += FixApp_FillReceived;
            IMessageStoreFactory storeFactory = new FileStoreFactory(settings);
            ILogFactory          logFactory   = new FileLogFactory(settings);
            SocketInitiator      initiator    = new SocketInitiator(
                fixApp,
                storeFactory,
                settings,
                logFactory);

            initiator.Start();
        }
        public void TearDown()
        {
            if (_listenSocket != null)
            {
                _listenSocket.Close();
            }
            if (_initiator != null)
            {
                _initiator.Stop(true);
            }
            if (_acceptor != null)
            {
                _acceptor.Stop(true);
            }

            _initiator = null;
            _acceptor  = null;
        }
        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;
            }
        }
Example #32
0
        public FixApplication(String configFile)
        {
            try
            {
                logonCount = 0;
                Current = this;
                settings = new SessionSettings(configFile);
                storeFactory = new FileStoreFactory(settings);
                logFactory = new FileLogFactory(settings);
                messageFactory = new DefaultMessageFactory();
                SetSessionIndexes(configFile);

                initiator = new SocketInitiator(this, storeFactory, settings, logFactory, messageFactory);
                initiator.start();
                AddText("Created initiator." + Environment.NewLine);
            }
            catch (Exception exception)
            {
                AddText(exception.Message + Environment.NewLine);
                throw;
            }
        }
Example #33
0
        static void Main(string[] args)
        {
            String configFile = "SchneiderBen.cfg";

            try
            {
                SessionSettings settings = new SessionSettings(configFile);
                FixApplication application = new FixApplication();
                FileStoreFactory storeFactory = new FileStoreFactory(settings);
                ScreenLogFactory logFactory = new ScreenLogFactory(settings);
                MessageFactory messageFactory = new DefaultMessageFactory();
                SocketInitiator initiator = new SocketInitiator(application, storeFactory, settings, logFactory, messageFactory);

                initiator.start();

                Console.WriteLine("press <enter> to quit");
                Console.Read();
                initiator.stop();
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }
        }
Example #34
0
        static SessionID StartFixSession(SocketInitiator initiator)
        {
            System.Collections.ArrayList list = initiator.getSessions();
            SessionID sessionID = (SessionID)list[0];
            Session.lookupSession(sessionID).logon();

            while (!Session.lookupSession(sessionID).isLoggedOn())
            {
                Thread.Sleep(1000);
            }
            return sessionID;
        }
Example #35
0
        static SocketInitiator StartSocketInitiator(String configFile)
        {
            ClientInitiator app = new ClientInitiator();
            SessionSettings settings = new SessionSettings(configFile);
            QuickFix.Application application = new ClientInitiator();
            FileStoreFactory storeFactory = new FileStoreFactory(settings);
            ScreenLogFactory logFactory = new ScreenLogFactory(settings);
            MessageFactory messageFactory = new DefaultMessageFactory();

            SocketInitiator initiator = new SocketInitiator(application, storeFactory, settings, logFactory, messageFactory);
            initiator.start();
            Thread.Sleep(3000);
            return initiator;
        }