X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Ffreenet%2Fmessagerequester.cpp;h=c641c955ef8c3fda09ded2107f983af2512dee95;hb=b88f50bfec6dbcd169bb8285e7c42b93baf52b6b;hp=ea3ec858540aa6220969c8db54c31189f83fef40;hpb=dec33c63afafabf83c3039e916725cac6faef9b3;p=fms.git diff --git a/src/freenet/messagerequester.cpp b/src/freenet/messagerequester.cpp index ea3ec85..c641c95 100644 --- a/src/freenet/messagerequester.cpp +++ b/src/freenet/messagerequester.cpp @@ -416,7 +416,9 @@ void MessageRequester::PopulateIDList() } sql+="AND tblIdentity.Name <> '' "; // sort by day descending - in case there is a bunch of messages on a day that keep timing out, we will eventually get to the next day and hopefully find messages there - sql+="ORDER BY tblMessageRequests.Day DESC "; + // secondary ascending sort on tries + // tertiary sort on request index (so we get low indexes first) + sql+="ORDER BY tblMessageRequests.Day DESC, tblMessageRequests.Tries ASC, tblMessageRequests.RequestIndex ASC "; sql+=";"; SQLite3DB::Statement st=m_db->Prepare(sql); @@ -502,6 +504,13 @@ void MessageRequester::StartRequest(const std::string &requestid) m_requesting.push_back(requestid); + // update tries + st=m_db->Prepare("UPDATE tblMessageRequests SET Tries=Tries+1 WHERE IdentityID=? AND Day=? AND RequestIndex=?;"); + st.Bind(0,identityid); + st.Bind(1,date); + st.Bind(2,indexstr); + st.Step(); + m_log->debug("MessageRequester::StartRequest requesting "+message["Identifier"]); }