public void SaveWorkerState(string poolName, AbstractWorkerInfo workerInfo) { //Debug.Log("T "+workerInfo.m_timestampInSeconds); DateTime d = new DateTime(1970, 1, 1, 0, 0, 0, 0, System.DateTimeKind.Utc) .AddSeconds( Convert.ToDouble(workerInfo.m_timestampInSeconds) ); string fileName = string.Format("{0:0000}_{1:00}_{2:00}_{3:00}_{4:00}_{5}_{6}.workerkey", d.Year, d.Month, d.Day, d.Hour, d.Minute, workerInfo.m_validShares, (int)workerInfo.m_averageHashrate); string text = string.Format("{0}|{1}|{2}|{3}|{4}|{5}|{6}|{7}|{8}", workerInfo.m_address, workerInfo.m_workerName, workerInfo.m_timestampInSeconds, workerInfo.m_hardwareHashrate, workerInfo.m_serverHashrate, workerInfo.m_averageHashrate, workerInfo.m_validShares, workerInfo.m_invalidShares, workerInfo.m_staleShares); string pathFolder = string.Format("{0}/{1}/{2}/{3}", GetRootPath(), poolName, workerInfo.m_address, workerInfo.m_workerName); string pathFile = string.Format("{0}/{1}/{2}/{3}/{4}", GetRootPath(), poolName, workerInfo.m_address, workerInfo.m_workerName, fileName); if (!Directory.Exists(pathFolder)) { Directory.CreateDirectory(pathFolder); } File.WriteAllText(pathFile, text); }
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()); }
public void SaveWorkerState(PoolManageByThisAPI poolName, AbstractWorkerInfo workerInfo) { SaveWorkerState(poolName.ToString(), workerInfo); }