X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=include%2Ffreenet%2Fiindexinserter.h;h=fb65b0eb7d038ee5464c952607364e0e4cd3399d;hb=4e96d123460d6363cf7274e36bd9357768eb86ad;hp=0539b29e305fa9d888976940e1e7781465faa368;hpb=9a14c0d9f7f7c319e539583b93664953764e83b7;p=fms.git diff --git a/include/freenet/iindexinserter.h b/include/freenet/iindexinserter.h index 0539b29..fb65b0e 100644 --- a/include/freenet/iindexinserter.h +++ b/include/freenet/iindexinserter.h @@ -4,13 +4,16 @@ #include "../idatabase.h" #include "../ilogger.h" #include "../option.h" -#include "../datetime.h" #include "../stringfunctions.h" #include "ifreenetregistrable.h" #include "ifcpconnected.h" #include "ifcpmessagehandler.h" #include "iperiodicprocessor.h" +#include +#include +#include + #ifdef XMEM #include #endif @@ -20,12 +23,12 @@ class IIndexInserter:public IFreenetRegistrable,public IFCPConnected,public IFCP { public: IIndexInserter(); - IIndexInserter(FCPv2 *fcp); + IIndexInserter(FCPv2::Connection *fcp); virtual ~IIndexInserter() {} virtual void FCPConnected(); virtual void FCPDisconnected(); - virtual const bool HandleMessage(FCPMessage &message); + virtual const bool HandleMessage(FCPv2::Message &message); virtual void Process(); @@ -34,15 +37,15 @@ public: protected: void InitializeIIndexInserter(); virtual void Initialize()=0; // initialize m_fcpuniquename - virtual const bool HandlePutSuccessful(FCPMessage &message)=0; - virtual const bool HandlePutFailed(FCPMessage &message)=0; + virtual const bool HandlePutSuccessful(FCPv2::Message &message)=0; + virtual const bool HandlePutFailed(FCPv2::Message &message)=0; virtual const bool StartInsert(const IDTYPE &id)=0; virtual void CheckForNeededInsert()=0; virtual void RemoveFromInsertList(const IDTYPE id); std::vector m_inserting; // list of ids we are inserting std::string m_messagebase; - DateTime m_lastchecked; + Poco::DateTime m_lastchecked; // these MUST be populated by child class std::string m_fcpuniquename; @@ -55,7 +58,7 @@ IIndexInserter::IIndexInserter() } template -IIndexInserter::IIndexInserter(FCPv2 *fcp):IFCPConnected(fcp) +IIndexInserter::IIndexInserter(FCPv2::Connection *fcp):IFCPConnected(fcp) { InitializeIIndexInserter(); } @@ -66,11 +69,11 @@ void IIndexInserter::FCPConnected() // make sure variables have been initialized by the derived class if(m_fcpuniquename=="") { - m_log->WriteLog(LogFile::LOGLEVEL_FATAL,"IIndexInserter::FCPConnected fcpuniquename not initialized correctly!"); + m_log->fatal("IIndexInserter::FCPConnected fcpuniquename not initialized correctly!"); } if(m_fcpuniquename.find("|")!=std::string::npos) { - m_log->WriteLog(LogFile::LOGLEVEL_FATAL,"IIndexInserter::FCPConnected fcpuniquename contains | character! This is not a valid character!"); + m_log->fatal("IIndexInserter::FCPConnected fcpuniquename : "+m_fcpuniquename+" contains | character! This is not a valid character!"); } m_inserting.clear(); @@ -83,11 +86,13 @@ void IIndexInserter::FCPDisconnected() } template -const bool IIndexInserter::HandleMessage(FCPMessage &message) +const bool IIndexInserter::HandleMessage(FCPv2::Message &message) { if(message["Identifier"].find(m_fcpuniquename)==0) { + m_log->trace("IIndexInserter::HandleMessage "+m_fcpuniquename+" received "+message.GetName()+" ID="+message["Identifier"]+" URI="+message["URI"]); + if(message.GetName()=="URIGenerated") { return true; @@ -111,6 +116,7 @@ const bool IIndexInserter::HandleMessage(FCPMessage &message) StringFunctions::Split(message["Identifier"],"|",idparts); StringFunctions::Convert(idparts[1],id); RemoveFromInsertList(id); + m_log->debug("IIndexInserter::HandleMessage IdentifierCollision for "+m_fcpuniquename+" "+message["Identifier"]); return true; } } @@ -123,16 +129,15 @@ void IIndexInserter::InitializeIIndexInserter() { m_fcpuniquename=""; Option::Instance()->Get("MessageBase",m_messagebase); - m_lastchecked.SetToGMTime(); + m_lastchecked=Poco::Timestamp(); } template void IIndexInserter::Process() { - DateTime now; - now.SetToGMTime(); + Poco::DateTime now; - if(m_lastchecked<(now-(1.0/1440.0))) + if(m_lastchecked<(now-Poco::Timespan(0,0,1,0,0))) { CheckForNeededInsert(); m_lastchecked=now;