void RequestBlocks()
{
List<BlockHeader> requests = new List<BlockHeader>();
mBlockLock.WaitOne();
foreach (Block b in mBlocks)
{
if (b.mTransactions.Count == 0)
{
TimeSpan s = DateTime.Now - b.mLastRequestTime;
if (s.TotalSeconds > 30)
{
requests.Add(b.mHeader);
b.mLastRequestTime = DateTime.Now;
}
}
}
mBlockLock.ReleaseMutex();
if (requests.Count > 0)
{
mLastNode.RequestBlocks(requests.ToArray());
}
}