private void ConfirmFileSystemFiles()
{
foreach (TorrentFileLink fileLink in this._torrentFileLinks)
{
if (this._fileLocating != null)
{
this._fileLocating.Invoke();
}
if (fileLink.State == LinkState.Located)
{
continue;
}
if (fileLink.State == LinkState.Fail)
{
if (fileLink.TorrentFile.EndPieceIndex - fileLink.TorrentFile.StartPieceIndex > 2)
{
fileLink.State = CheckPiece(fileLink.TorrentFile.StartPieceIndex + 1)
? LinkState.Located
: LinkState.Fail;
}
continue;
}
for (int i = fileLink.TorrentFile.StartPieceIndex; i <= fileLink.TorrentFile.EndPieceIndex; i++)
{
if (!CheckPiece(i))
{
break;
}
if (fileLink.State == LinkState.Located)
{
break;
}
}
}
}