/// <summary> /// Sends Logout request to MDE /// </summary> /// <param name="logout">TradeHub Logout object</param> public bool Logout(Logout logout) { try { if (_asyncClassLogger.IsInfoEnabled) { _asyncClassLogger.Info("Sending logout request for: " + logout.MarketDataProvider, _type.FullName, "Logout"); } // Check if MDE-Client is connected to MDE if (_isConnected) { // Send logout request to MDE _dataEngineClient.SendLogoutRequest(logout); return(true); } if (_asyncClassLogger.IsDebugEnabled) { _asyncClassLogger.Debug("Request not sent to MDE as MDE-Client is not connected.", _type.FullName, "Logout"); } return(false); } catch (Exception exception) { _asyncClassLogger.Error(exception, _type.FullName, "Logout"); return(false); } }
public void ConnectivityTestCase() { bool logonArrived = false; bool logoutArrived = false; ManualResetEvent manualLogonEvent = new ManualResetEvent(false); ManualResetEvent manualLogoutEvent = new ManualResetEvent(false); ManualResetEvent manualConnectedEvent = new ManualResetEvent(false); _marketDataEngineClient.ServerConnected += delegate() { _marketDataEngineClient.SendLoginRequest(new Login() { MarketDataProvider = TradeHubConstants.MarketDataProvider.Simulated }); manualConnectedEvent.Set(); }; _marketDataEngineClient.LogonArrived += delegate(string obj) { logonArrived = true; _marketDataEngineClient.SendLogoutRequest(new Logout { MarketDataProvider = TradeHubConstants.MarketDataProvider.Simulated }); manualLogonEvent.Set(); }; _marketDataEngineClient.LogoutArrived += delegate(string obj) { logoutArrived = true; manualLogoutEvent.Set(); }; _marketDataEngineClient.Start(); manualConnectedEvent.WaitOne(30000, false); manualLogonEvent.WaitOne(30000, false); manualLogoutEvent.WaitOne(30000, false); Assert.AreEqual(true, logonArrived, "Logon Arrived"); Assert.AreEqual(true, logoutArrived, "Logout Arrived"); }
void TickArrived(Common.Core.DomainModels.Tick obj) { if (count == 1) { stopwatch.Start(); Logger.Info("First tick arrived " + obj, _type.FullName, "TickArrived"); } if (count == 1000000) { stopwatch.Stop(); Logger.Info("Last tick arrived " + obj, _type.FullName, "TickArrived"); Logger.Info("1000000 Ticks recevied in " + stopwatch.ElapsedMilliseconds + " ms", _type.FullName, "TickArrived"); Logger.Info(1000000 / stopwatch.ElapsedMilliseconds * 1000 + "msg/sec", _type.FullName, "TickArrived"); _marketDataEngineClient.SendLogoutRequest(new Logout { MarketDataProvider = Common.Core.Constants.MarketDataProvider.Simulated }); Close(); } count++; }