X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Ffreenet%2Fboardlistrequester.cpp;h=41df7d67cd15aee4d30c70ec5aa921f2f21bf112;hb=59a5414ec47a2932a7802fcd1d98c4d80166564f;hp=a39d1a68373c304eaa51a96d0ba976614ed63f5b;hpb=dec33c63afafabf83c3039e916725cac6faef9b3;p=fms.git diff --git a/src/freenet/boardlistrequester.cpp b/src/freenet/boardlistrequester.cpp index a39d1a6..41df7d6 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,19 @@ 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); - m_fcp->ReceiveRaw(&data[0],datalength); + m_fcp->Receive(data,datalength); // parse file into xml and update the database - if(xml.ParseXML(std::string(data.begin(),data.end()))==true) + if(data.size()>0 && xml.ParseXML(std::string(data.begin(),data.end()))==true) { SQLite3DB::Statement brd=m_db->Prepare("SELECT BoardID,BoardName,BoardDescription FROM tblBoard WHERE BoardName=?;"); @@ -160,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; @@ -196,9 +192,9 @@ void BoardListRequester::Initialize() m_fcpuniquename="BoardListRequester"; m_maxrequests=0; + Option option(m_db); - Option::Instance()->Get("MaxBoardListRequests",tempval); - StringFunctions::Convert(tempval,m_maxrequests); + option.GetInt("MaxBoardListRequests",m_maxrequests); if(m_maxrequests<0) { m_maxrequests=0; @@ -209,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; @@ -219,7 +215,7 @@ void BoardListRequester::Initialize() m_savemessagesfromnewboards=false; } - Option::Instance()->Get("LocalTrustOverridesPeerTrust",tempval); + option.Get("LocalTrustOverridesPeerTrust",tempval); if(tempval=="true") { m_localtrustoverrides=true; @@ -262,7 +258,7 @@ 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; @@ -301,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);