#include "../../include/freenet/periodicdbmaintenance.h"\r
#include "../../include/freenet/boardlistinserter.h"\r
#include "../../include/freenet/boardlistrequester.h"\r
-\r
-//#include <zthread/Thread.h>\r
+#include "../../include/freenet/siteinserter.h"\r
+#include "../../include/freenet/fileinserter.h"\r
#include "../../include/pthreadwrapper/thread.h"\r
\r
+#include <cstdlib>\r
+\r
#ifdef XMEM\r
#include <xmem.h>\r
#endif\r
{\r
\r
DateTime lastreceivedmessage;\r
+ DateTime lastconnected;\r
DateTime now;\r
FCPMessage message;\r
bool done=false;\r
\r
+ lastconnected.SetToGMTime();\r
+ lastconnected.Add(0,-1);\r
+\r
m_log->WriteLog(LogFile::LOGLEVEL_DEBUG,"FreenetMasterThread::run thread started.");\r
\r
Setup();\r
{\r
if(m_fcp.Connected()==false)\r
{\r
- if(FCPConnect()==false)\r
+ // wait at least 1 minute since last successful connect\r
+ now.SetToGMTime();\r
+ if(lastconnected<=(now-(1.0/1440.0)))\r
{\r
+ if(FCPConnect()==false)\r
+ {\r
\r
- m_log->WriteLog(LogFile::LOGLEVEL_ERROR,"FreenetMasterThread::run could not connect to node. Waiting 60 seconds.");\r
+ m_log->WriteLog(LogFile::LOGLEVEL_ERROR,"FreenetMasterThread::run could not connect to node. Waiting 60 seconds.");\r
\r
- // wait 60 seconds - will then try to connect again\r
- /*\r
- try\r
- {\r
- ZThread::Thread::sleep(60000);\r
+ for(int i=0; i<60 && !IsCancelled(); i++)\r
+ {\r
+ Sleep(1000);\r
+ }\r
}\r
- catch(...)\r
+ else\r
{\r
- done=true;\r
- }\r
- */\r
- for(int i=0; i<60 && !IsCancelled(); i++)\r
- {\r
- Sleep(1000);\r
+ lastreceivedmessage.SetToGMTime();\r
+ lastconnected.SetToGMTime();\r
}\r
}\r
else\r
{\r
- lastreceivedmessage.SetToGMTime();\r
+ Sleep(1000);\r
}\r
}\r
// fcp is connected\r
m_fcp.Disconnect();\r
}\r
\r
+ if(m_fcp.Connected()==false)\r
+ {\r
+ m_log->WriteLog(LogFile::LOGLEVEL_INFO,"FreenetMasterThread::Run Disconnected from Freenet node.");\r
+ }\r
+\r
}\r
-// }while(!ZThread::Thread::interrupted() && done==false);\r
}while(!IsCancelled() && done==false);\r
\r
m_fcp.Disconnect();\r
m_registrables.push_back(new MessageInserter(&m_fcp));\r
m_registrables.push_back(new BoardListInserter(&m_fcp));\r
m_registrables.push_back(new BoardListRequester(&m_fcp));\r
+ m_registrables.push_back(new SiteInserter(&m_fcp));\r
+ m_registrables.push_back(new FileInserter(&m_fcp));\r
m_registrables.push_back(new PeriodicDBMaintenance());\r
\r
for(std::vector<IFreenetRegistrable *>::iterator i=m_registrables.begin(); i!=m_registrables.end(); i++)\r