public void PushLastSaveToFile() { if (m_workersObserved == null) { return; } if (m_workersObserved.m_workersInfo == null) { return; } if (m_workersObserved.m_workersInfo.HasError() || !m_workersObserved.m_workersInfo.HasText()) { return; } List <AbstractWorkerInfo> resultWorkers = new List <AbstractWorkerInfo>(); WorkerLinkedData <EtherMineOrgWorkerFrame>[] workers = m_workersObserved.m_workersInfo.GetAllWorkersLastReceivedInformation(); for (int i = 0; i < workers.Length; i++) { EtherMineOrgWorkerFrame wFrame = workers[i].GetLinkedData(); AbstractWorkerInfo workerInfo = new AbstractWorkerInfo(); workerInfo.m_workerName = wFrame.GetWorkerName(); workerInfo.m_address = wFrame.GetAddress(); workerInfo.m_timestampInSeconds = wFrame.GetTimestamp(); workerInfo.m_averageHashrate = wFrame.GetAverageHashRate(); workerInfo.m_hardwareHashrate = wFrame.GetReportedHashRate(); workerInfo.m_serverHashrate = wFrame.GetCurrentHashRate(); workerInfo.m_validShares = wFrame.GetValideShares(); workerInfo.m_invalidShares = wFrame.GetInvalideShares(); workerInfo.m_staleShares = wFrame.GetStaleShares(); resultWorkers.Add(workerInfo); } m_poolSaveAndLoad.SaveWorkerState(PoolManageByThisAPI.Ethermine, resultWorkers.ToArray()); }