X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Ffreenet%2Fmessagerequester.cpp;h=4ea393a19fc39e5443876841ceff81f3f635c3fb;hb=278ee758050cb7772cd95946688c5b40104f4d8b;hp=ea3ec858540aa6220969c8db54c31189f83fef40;hpb=dec33c63afafabf83c3039e916725cac6faef9b3;p=fms.git diff --git a/src/freenet/messagerequester.cpp b/src/freenet/messagerequester.cpp index ea3ec85..4ea393a 100644 --- a/src/freenet/messagerequester.cpp +++ b/src/freenet/messagerequester.cpp @@ -324,8 +324,9 @@ void MessageRequester::Initialize() { m_fcpuniquename="MessageRequester"; std::string tempval; - Option::Instance()->Get("MaxMessageRequests",tempval); - StringFunctions::Convert(tempval,m_maxrequests); + + m_maxrequests=0; + Option::Instance()->GetInt("MaxMessageRequests",m_maxrequests); if(m_maxrequests<1) { m_maxrequests=1; @@ -335,8 +336,9 @@ void MessageRequester::Initialize() { m_log->warning("Option MaxMessageRequests is currently set at "+tempval+". This value might be incorrectly configured."); } - Option::Instance()->Get("MessageDownloadMaxDaysBackward",tempval); - StringFunctions::Convert(tempval,m_maxdaysbackward); + + m_maxdaysbackward=0; + Option::Instance()->GetInt("MessageDownloadMaxDaysBackward",m_maxdaysbackward); if(m_maxdaysbackward<0) { m_maxdaysbackward=0; @@ -346,8 +348,9 @@ void MessageRequester::Initialize() { m_log->warning("Option MessageDownloadMaxDaysBackward is currently set at "+tempval+". This value might be incorrectly configured."); } - Option::Instance()->Get("MaxPeerMessagesPerDay",tempval); - StringFunctions::Convert(tempval,m_maxpeermessages); + + m_maxpeermessages=0; + Option::Instance()->GetInt("MaxPeerMessagesPerDay",m_maxpeermessages); if(m_maxpeermessages<1) { m_maxpeermessages=1; @@ -357,8 +360,9 @@ void MessageRequester::Initialize() { m_log->warning("Option MaxPeerMessagesPerDay is currently set at "+tempval+". This value might be incorrectly configured. The suggested value is 200."); } - Option::Instance()->Get("MaxBoardsPerMessage",tempval); - StringFunctions::Convert(tempval,m_maxboardspermessage); + + m_maxboardspermessage=0; + Option::Instance()->GetInt("MaxBoardsPerMessage",m_maxboardspermessage); if(m_maxboardspermessage<1) { m_maxboardspermessage=1; @@ -416,7 +420,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 +508,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"]); }