version 0.3.10
[fms.git] / src / freenet / messagerequester.cpp
index ea3ec85..c641c95 100644 (file)
@@ -416,7 +416,9 @@ void MessageRequester::PopulateIDList()
        }\r
        sql+="AND tblIdentity.Name <> '' ";\r
        // 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\r
-       sql+="ORDER BY tblMessageRequests.Day DESC ";\r
+       // secondary ascending sort on tries\r
+       // tertiary sort on request index (so we get low indexes first)\r
+       sql+="ORDER BY tblMessageRequests.Day DESC, tblMessageRequests.Tries ASC, tblMessageRequests.RequestIndex ASC ";\r
        sql+=";";\r
 \r
        SQLite3DB::Statement st=m_db->Prepare(sql);\r
@@ -502,6 +504,13 @@ void MessageRequester::StartRequest(const std::string &requestid)
 \r
                m_requesting.push_back(requestid);\r
 \r
+               // update tries\r
+               st=m_db->Prepare("UPDATE tblMessageRequests SET Tries=Tries+1 WHERE IdentityID=? AND Day=? AND RequestIndex=?;");\r
+               st.Bind(0,identityid);\r
+               st.Bind(1,date);\r
+               st.Bind(2,indexstr);\r
+               st.Step();\r
+\r
                m_log->debug("MessageRequester::StartRequest requesting "+message["Identifier"]);\r
        }\r
        \r