protected override void WorkLoop() { _startTime = DateTime.Now; // apply exponential sliding average _onWorkReceived(_f, this, new WorkPackage { Seed = H256.Random(), // We don't actually need a real seed as the epoch is calculated upon block number (see poolmanager) Header = H256.Random(), Block = _block, Boundary = new H256(WorkLoopBoundry) }); // submit new fake job while (_session != null) { var hr = _f.HashRate; _hrMax = Math.Max(_hrMax, hr); _hrMean = _hrAlpha * _hrMean + (1.0f - _hrAlpha) * hr; Thread.Sleep(200); } }