コード例 #1
0
    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());
    }