// if that client does not have my file maybe has another different // we try to swap to another file ignoring no needed parts files switch (client->GetDownloadState()) { case DS_CONNECTED: case DS_ONQUEUE: case DS_NONEEDEDPARTS: /* client->DontSwapTo(client->GetRequestFile()); // ZZ:DownloadManager */ //Enig123::reqfile might be different with client->GetRequestFile() client->DontSwapTo(reqfile); // ZZ:DownloadManager if (!client->SwapToAnotherFile(_T("Source says it doesn't have the file. CClientReqSocket::ProcessPacket()"), true, true, true, NULL, false, false)) { // ZZ:DownloadManager theApp.downloadqueue->RemoveSource(client); } break; } break;
where some developers, including me, found that the reqfile indicated by the packet somehow can differ from the client->GetRequestFile(). Simply by using reqfile directly can fix this confusion.
This post has been edited by Enig123: 28 November 2015 - 08:21 PM