private void ReceivedEngineStatusUpdate(QsysRequest request) { /*CloudLog.Debug("{0} received EngineStatus\r\n{1}", GetType().Name, * request.Args.ToString(Formatting.Indented));*/ #if true Debug.WriteInfo("Q-Sys socket status received"); Debug.WriteNormal(Debug.AnsiBlue + request.Args.ToString(Formatting.Indented) + Debug.AnsiReset); #endif _platform = request.Args["Platform"].Value <string>(); State = request.Args["State"].Value <string>(); DesignName = request.Args["DesignName"].Value <string>(); DesignCode = request.Args["DesignCode"].Value <string>(); IsRedundant = request.Args["IsRedundant"].Value <bool>(); IsEmulator = request.Args["IsEmulator"].Value <bool>(); Status = new CoreStatus(request.Args["Status"]); if (State == "Standby") { _socket.TryAnotherAddress(); _socket.Disconnect(true); } if (!_initialized && (_initializeThread == null || _initializeThread.ThreadState != Thread.eThreadStates.ThreadRunning)) { _initializeThread = new Thread(specific => InitalizeProcess(), null) { Name = "QsysCore Initializing Process Thread", Priority = Thread.eThreadPriority.HighPriority }; } }