private FlushWorkerMethod ( BitSharp.Common.WorkerMethod instance ) : System.Threading.Tasks.Task | ||
instance | BitSharp.Common.WorkerMethod | |
return | System.Threading.Tasks.Task |
private Task FlushWorkerMethod(WorkerMethod instance)
{
FlushHeaders flushHeaders;
while (this.flushQueue.TryDequeue(out flushHeaders))
{
// cooperative loop
this.ThrowIfCancelled();
var peer = flushHeaders.Peer;
var blockHeaders = flushHeaders.Headers;
// chain the downloaded headers
this.coreStorage.ChainHeaders(blockHeaders);
DateTimeOffset ignore;
this.headersRequestsByPeer.TryRemove(peer, out ignore);
}
return Task.CompletedTask;
}