#include "ifcpmessagehandler.h"\r
#include "iperiodicprocessor.h"\r
\r
+#ifdef XMEM\r
+ #include <xmem.h>\r
+#endif\r
+\r
template <class IDTYPE>\r
class IIndexInserter:public IFreenetRegistrable,public IFCPConnected,public IFCPMessageHandler,public IPeriodicProcessor,public IDatabase,public ILogger\r
{\r
public:\r
IIndexInserter();\r
IIndexInserter(FCPv2 *fcp);\r
+ virtual ~IIndexInserter() {}\r
\r
virtual void FCPConnected();\r
virtual void FCPDisconnected();\r
virtual void Initialize()=0; // initialize m_fcpuniquename\r
virtual const bool HandlePutSuccessful(FCPMessage &message)=0;\r
virtual const bool HandlePutFailed(FCPMessage &message)=0;\r
- virtual void StartInsert(const IDTYPE &id)=0;\r
+ virtual const bool StartInsert(const IDTYPE &id)=0;\r
virtual void CheckForNeededInsert()=0;\r
virtual void RemoveFromInsertList(const IDTYPE id);\r
\r
// make sure variables have been initialized by the derived class\r
if(m_fcpuniquename=="")\r
{\r
- m_log->WriteLog(LogFile::LOGLEVEL_ERROR,"IIndexInserter<IDTYPE>::FCPConnected fcpuniquename not initialized correctly!");\r
+ m_log->WriteLog(LogFile::LOGLEVEL_FATAL,"IIndexInserter<IDTYPE>::FCPConnected fcpuniquename not initialized correctly!");\r
}\r
if(m_fcpuniquename.find("|")!=std::string::npos)\r
{\r
- m_log->WriteLog(LogFile::LOGLEVEL_ERROR,"IIndexInserter<IDTYPE>::FCPConnected fcpuniquename contains | character! This is not a valid character!");\r
+ m_log->WriteLog(LogFile::LOGLEVEL_FATAL,"IIndexInserter<IDTYPE>::FCPConnected fcpuniquename contains | character! This is not a valid character!");\r
}\r
\r
m_inserting.clear();\r
StringFunctions::Split(message["Identifier"],"|",idparts);\r
StringFunctions::Convert(idparts[1],id);\r
RemoveFromInsertList(id);\r
+ m_log->WriteLog(LogFile::LOGLEVEL_DEBUG,"IIndexInserter<IDTYPE>::HandleMessage IdentifierCollision for "+m_fcpuniquename+" "+message["Identifier"]);\r
return true;\r
}\r
}\r
void IIndexInserter<IDTYPE>::InitializeIIndexInserter()\r
{\r
m_fcpuniquename="";\r
- Option::instance()->Get("MessageBase",m_messagebase);\r
+ Option::Instance()->Get("MessageBase",m_messagebase);\r
m_lastchecked.SetToGMTime();\r
}\r
\r