-void TrustListRequester::Process()\r
-{\r
- // max is the smaller of the config value or the total number of identities we will request from\r
- long max=m_maxrequests>m_ids.size() ? m_ids.size() : m_maxrequests;\r
-\r
- // try to keep up to max requests going\r
- if(m_requesting.size()<max)\r
- {\r
- std::map<long,bool>::iterator i=m_ids.begin();\r
- while(i!=m_ids.end() && (*i).second==true)\r
- {\r
- i++;\r
- }\r
-\r
- if(i!=m_ids.end())\r
- {\r
- StartRequest((*i).first);\r
- }\r
- else\r
- {\r
- // we requested from all ids in the list, repopulate the list\r
- PopulateIDList();\r
- }\r
- }\r
- // special case - if there were 0 identities on the list when we started then we will never get a chance to repopulate the list\r
- // this will recheck for ids every minute\r
- DateTime now;\r
- now.SetToGMTime();\r
- if(m_ids.size()==0 && m_tempdate<(now-(1.0/1440.0)))\r
- {\r
- PopulateIDList();\r
- m_tempdate=now;\r
- }\r
-\r
-}\r
-\r
-void TrustListRequester::RegisterWithThread(FreenetMasterThread *thread)\r
-{\r
- thread->RegisterFCPConnected(this);\r
- thread->RegisterFCPMessageHandler(this);\r
- thread->RegisterPeriodicProcessor(this);\r
-}\r
-\r
-void TrustListRequester::RemoveFromRequestList(const long identityid)\r
-{\r
- std::vector<long>::iterator i=m_requesting.begin();\r
- while(i!=m_requesting.end() && (*i)!=identityid)\r
- {\r
- i++;\r
- }\r
- if(i!=m_requesting.end())\r
- {\r
- m_requesting.erase(i);\r
- }\r
-}\r
-\r
-void TrustListRequester::StartRequest(const long identityid)\r