private void NetworkInterface_OnGetMiningParameterStatusEvent(NetworkInterface.INetworkInterface sender, bool success, NetworkInterface.MiningParameters miningParameters) { try { if (m_instance != null && m_instance.ToInt64() != 0) { if (success) { var isPause = false; Solver.IsPaused(m_instance, ref isPause); if (!NetworkInterface.IsPool && ((NetworkInterface.Web3Interface)NetworkInterface).IsChallengedSubmitted(miningParameters.ChallengeNumberByte32String)) { isPause = true; } else if (isPause) { if (m_failedScanCount > m_pauseOnFailedScan) { m_failedScanCount = 0; } isPause = false; } Solver.PauseFinding(m_instance, isPause); } else { m_failedScanCount += 1; var isMining = false; Solver.IsMining(m_instance, ref isMining); if (m_failedScanCount > m_pauseOnFailedScan && IsMining) { Solver.PauseFinding(m_instance, true); } } } } catch (Exception ex) { Program.Print(string.Format("[ERROR] {0}", ex.Message)); } }
private void NetworkInterface_OnGetMiningParameterStatus(NetworkInterface.INetworkInterface sender, bool success, NetworkInterface.MiningParameters miningParameters) { try { if (m_instance != null && m_instance.ToInt64() != 0) { if (success) { var isPause = false; Solver.IsPaused(m_instance, ref isPause); if (m_isCurrentChallengeStopSolving) { isPause = true; } else if (isPause) { if (m_failedScanCount > m_pauseOnFailedScan) { m_failedScanCount = 0; } isPause = false; } Solver.PauseFinding(m_instance, isPause); } else { m_failedScanCount += 1; var isMining = false; Solver.IsMining(m_instance, ref isMining); if (m_failedScanCount > m_pauseOnFailedScan && IsMining) { Solver.PauseFinding(m_instance, true); } } } } catch (Exception ex) { Program.Print(string.Format("OpenCL [ERROR] {0}", ex.Message)); } }