private void OnConnectLocal(Socket socket) { localSocket = socket; localSocket.PacketFactory = new PacketFactoryFIX4_4(); localSelector.AddReader(socket); localSelector.AddWriter(socket); log.Info("Received local connection: " + socket); RequestRemoteConnect(); localTask = Factory.Parallel.Loop("FilterLocalRead", OnException, LocalReadLoop); }
protected virtual void OnConnectFIX(Socket socket) { fixSocket = socket; fixSocket.PacketFactory = fixPacketFactory; fixSelector.AddReader(socket); fixSelector.AddWriter(socket); log.Info("Received FIX connection: " + socket); StartFIXSimulation(); if (task == null) { task = Factory.Parallel.Loop("FIXSimulator", OnException, MainLoop); } }
protected virtual void OnConnectQuotes(Socket socket) { quoteSocket = socket; quoteSocket.PacketFactory = quotePacketFactory; quoteSelector.AddReader(socket); quoteSelector.AddWriter(socket); log.Info("Received quotes connection: " + socket); StartQuoteSimulation(); if (task == null) { task = Factory.Parallel.Loop("FIXSimulator", OnException, MainLoop); } }
private void RequestRemoteConnect() { remoteSelector = Factory.Provider.Selector(OnException); remoteSelector.OnConnect = OnConnect; remoteSelector.OnDisconnect = OnDisconnect; remoteSelector.Start(); remoteSocket = Factory.Provider.Socket("FilterRemoteSocket"); remoteSocket.PacketFactory = new PacketFactoryFIX4_4(); remoteSocket.Connect(remoteAddress, remotePort); remoteSelector.AddWriter(remoteSocket); remoteConnectTimeout = Factory.TickCount + 2000; }
protected void Initialize() { try { if (debug) { log.Debug("> Initialize."); } var appDataFolder = Factory.Settings["AppDataFolder"]; if (appDataFolder == null) { throw new ApplicationException("Sorry, AppDataFolder must be set in the app.config file."); } var configFile = appDataFolder + @"/Providers/" + providerName + "/Default.config"; failedFile = appDataFolder + @"/Providers/" + providerName + "/LoginFailed.txt"; LoadProperties(configFile); if (File.Exists(failedFile)) { throw new ApplicationException("Please correct the username or password error described in " + failedFile + ". Then delete the file retrying, please."); } } catch (Exception ex) { log.Error(ex.Message, ex); throw; } // Initiate socket connection. while (true) { try { selector.AddWriter(socket); socket.Connect(addrStr, port); if (debug) { log.Debug("Requested Connect for " + socket); } return; } catch (SocketErrorException ex) { log.Error("Non fatal error while trying to connect: " + ex.Message); RegenerateSocket(); } } }
protected void Initialize() { try { if (debug) { log.Debug("> Initialize."); } string appDataFolder = Factory.Settings["AppDataFolder"]; if (appDataFolder == null) { throw new ApplicationException("Sorry, AppDataFolder must be set in the app.config file."); } string configFile = appDataFolder + @"/Providers/" + providerName + "/Default.config"; failedFile = appDataFolder + @"/Providers/" + providerName + "/LoginFailed.txt"; LoadProperties(configFile); } catch (Exception ex) { log.Error(ex.Message, ex); throw; } // Initiate socket connection. while (true) { try { fixFilterController = new FIXPretradeFilter(addrStr, port); fixFilterController.Filter = fixFilter; socket.Connect("127.0.0.1", fixFilterController.LocalPort); // socket.Connect("127.0.0.1",port); selector.AddWriter(socket); if (debug) { log.Debug("Requested Connect for " + socket); } return; } catch (SocketErrorException ex) { log.Error("Non fatal error while trying to connect: " + ex.Message); RegenerateSocket(); } } }