public bool TryGetChainedHeader(UInt256 blockHash, out ChainedHeader chainedHeader)
{
lock (cachedHeaders)
if (this.cachedHeaders.Value.TryGetValue(blockHash, out chainedHeader))
{
return chainedHeader != null;
}
else if (this.blockStorage.Value.TryGetChainedHeader(blockHash, out chainedHeader))
{
this.cachedHeaders.Value[blockHash] = chainedHeader;
return true;
}
else
{
this.cachedHeaders.Value[blockHash] = null;
return false;
}
}