X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Ffreenet%2Fboardlistrequester.cpp;h=802786cdc920b266ed3eb6147aaa602db062359d;hb=ed0732b2550c23c05fc9faf925620e87ee6dee12;hp=abcc473da2cfecc35faa1b34401ab262c1c1372c;hpb=c0ebc7b53a977885ebc2d3a679c586ae20c0bc4a;p=fms.git diff --git a/src/freenet/boardlistrequester.cpp b/src/freenet/boardlistrequester.cpp index abcc473..802786c 100644 --- a/src/freenet/boardlistrequester.cpp +++ b/src/freenet/boardlistrequester.cpp @@ -8,12 +8,12 @@ #include #endif -BoardListRequester::BoardListRequester() +BoardListRequester::BoardListRequester(SQLite3DB::DB *db):IIndexRequester(db) { Initialize(); } -BoardListRequester::BoardListRequester(FCPv2 *fcp):IIndexRequester(fcp) +BoardListRequester::BoardListRequester(SQLite3DB::DB *db, FCPv2::Connection *fcp):IIndexRequester(db,fcp) { Initialize(); } @@ -48,7 +48,7 @@ std::string BoardListRequester::GetIdentityName(const long identityid) } } -const bool BoardListRequester::HandleAllData(FCPMessage &message) +const bool BoardListRequester::HandleAllData(FCPv2::Message &message) { Poco::DateTime now; SQLite3DB::Statement st; @@ -68,23 +68,16 @@ const bool BoardListRequester::HandleAllData(FCPMessage &message) identityname=GetIdentityName(identityid); // wait for all data to be received from connection - while(m_fcp->Connected() && m_fcp->ReceiveBufferSize()Update(1); - } + m_fcp->WaitForBytes(1000,datalength); // if we got disconnected- return immediately - if(m_fcp->Connected()==false) + if(m_fcp->IsConnected()==false) { return false; } // receive the file - data.resize(datalength); - if(data.size()>0) - { - m_fcp->ReceiveRaw(&data[0],datalength); - } + m_fcp->Receive(data,datalength); // parse file into xml and update the database if(data.size()>0 && xml.ParseXML(std::string(data.begin(),data.end()))==true) @@ -163,7 +156,7 @@ const bool BoardListRequester::HandleAllData(FCPMessage &message) } -const bool BoardListRequester::HandleGetFailed(FCPMessage &message) +const bool BoardListRequester::HandleGetFailed(FCPv2::Message &message) { SQLite3DB::Statement st; std::vector idparts; @@ -199,8 +192,9 @@ void BoardListRequester::Initialize() m_fcpuniquename="BoardListRequester"; m_maxrequests=0; + Option option(m_db); - Option::Instance()->GetInt("MaxBoardListRequests",m_maxrequests); + option.GetInt("MaxBoardListRequests",m_maxrequests); if(m_maxrequests<0) { m_maxrequests=0; @@ -211,7 +205,7 @@ void BoardListRequester::Initialize() m_log->warning("Option MaxBoardListRequests is currently set at "+tempval+". This value might be incorrectly configured."); } - Option::Instance()->Get("SaveMessagesFromNewBoards",tempval); + option.Get("SaveMessagesFromNewBoards",tempval); if(tempval=="true") { m_savemessagesfromnewboards=true; @@ -221,7 +215,7 @@ void BoardListRequester::Initialize() m_savemessagesfromnewboards=false; } - Option::Instance()->Get("LocalTrustOverridesPeerTrust",tempval); + option.Get("LocalTrustOverridesPeerTrust",tempval); if(tempval=="true") { m_localtrustoverrides=true; @@ -242,11 +236,11 @@ void BoardListRequester::PopulateIDList() if(m_localtrustoverrides==false) { - st=m_db->Prepare("SELECT IdentityID FROM tblIdentity WHERE PublicKey IS NOT NULL AND PublicKey <> '' AND LastSeen>='"+Poco::DateTimeFormatter::format(today,"%Y-%m-%d")+"' AND (LocalMessageTrust IS NULL OR LocalMessageTrust>=(SELECT OptionValue FROM tblOption WHERE Option='MinLocalMessageTrust')) AND (PeerMessageTrust IS NULL OR PeerMessageTrust>=(SELECT OptionValue FROM tblOption WHERE Option='MinPeerMessageTrust')) AND PublishBoardList='true' ORDER BY LocalMessageTrust+LocalTrustListTrust DESC, LastSeen;"); + st=m_db->Prepare("SELECT IdentityID FROM tblIdentity WHERE PublicKey IS NOT NULL AND PublicKey <> '' AND LastSeen>='"+Poco::DateTimeFormatter::format(today,"%Y-%m-%d")+"' AND (LocalMessageTrust IS NULL OR LocalMessageTrust>=(SELECT OptionValue FROM tblOption WHERE Option='MinLocalMessageTrust')) AND (PeerMessageTrust IS NULL OR PeerMessageTrust>=(SELECT OptionValue FROM tblOption WHERE Option='MinPeerMessageTrust')) AND PublishBoardList='true' AND FailureCount<=(SELECT OptionValue FROM tblOption WHERE Option='MaxFailureCount') ORDER BY LocalMessageTrust+LocalTrustListTrust DESC, LastSeen;"); } else { - st=m_db->Prepare("SELECT IdentityID FROM tblIdentity WHERE PublicKey IS NOT NULL AND PublicKey <> '' AND LastSeen>='"+Poco::DateTimeFormatter::format(today,"%Y-%m-%d")+"' AND (LocalMessageTrust>=(SELECT OptionValue FROM tblOption WHERE Option='MinLocalMessageTrust') OR (LocalMessageTrust IS NULL AND (PeerMessageTrust IS NULL OR PeerMessageTrust>=(SELECT OptionValue FROM tblOption WHERE Option='MinPeerMessageTrust')))) AND PublishBoardList='true' ORDER BY LocalMessageTrust+LocalTrustListTrust DESC, LastSeen;"); + st=m_db->Prepare("SELECT IdentityID FROM tblIdentity WHERE PublicKey IS NOT NULL AND PublicKey <> '' AND LastSeen>='"+Poco::DateTimeFormatter::format(today,"%Y-%m-%d")+"' AND (LocalMessageTrust>=(SELECT OptionValue FROM tblOption WHERE Option='MinLocalMessageTrust') OR (LocalMessageTrust IS NULL AND (PeerMessageTrust IS NULL OR PeerMessageTrust>=(SELECT OptionValue FROM tblOption WHERE Option='MinPeerMessageTrust')))) AND PublishBoardList='true' AND FailureCount<=(SELECT OptionValue FROM tblOption WHERE Option='MaxFailureCount') ORDER BY LocalMessageTrust+LocalTrustListTrust DESC, LastSeen;"); } st.Step(); @@ -264,13 +258,13 @@ void BoardListRequester::PopulateIDList() void BoardListRequester::StartRequest(const long &identityid) { Poco::DateTime now; - FCPMessage message; + FCPv2::Message message; std::string publickey; std::string indexstr; int index; std::string identityidstr; - SQLite3DB::Statement st=m_db->Prepare("SELECT PublicKey FROM tblIdentity WHERE identityid=?;"); + SQLite3DB::Statement st=m_db->Prepare("SELECT PublicKey FROM tblIdentity WHERE IdentityID=?;"); st.Bind(0,identityid); st.Step(); @@ -303,7 +297,7 @@ void BoardListRequester::StartRequest(const long &identityid) message["ReturnType"]="direct"; message["MaxSize"]="100000"; // 100 KB - m_fcp->SendMessage(message); + m_fcp->Send(message); m_requesting.push_back(identityid);