BitSharp.Network.Workers.HeadersRequestWorker.FlushWorkerMethod C# (CSharp) Method

FlushWorkerMethod() private method

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;
        }