version 0.1.3
[fms.git] / src / freenet / messageinserter.cpp
index acd6bfe..cc7cfd5 100644 (file)
@@ -5,7 +5,7 @@ MessageInserter::MessageInserter()
        Initialize();\r
 }\r
 \r
-MessageInserter::MessageInserter(FCPv2 *fcp):IIndexInserter(fcp)\r
+MessageInserter::MessageInserter(FCPv2 *fcp):IIndexInserter<std::string>(fcp)\r
 {\r
        Initialize();\r
 }\r
@@ -53,10 +53,13 @@ const bool MessageInserter::HandlePutFailed(FCPMessage &message)
 \r
 const bool MessageInserter::HandlePutSuccessful(FCPMessage &message)\r
 {\r
+       DateTime date;\r
+       int localidentityid;\r
        int index;\r
        std::vector<std::string> idparts;\r
        StringFunctions::Split(message["Identifier"],"|",idparts);\r
        StringFunctions::Convert(idparts[3],index);\r
+       StringFunctions::Convert(idparts[2],localidentityid);\r
 \r
        SQLite3DB::Statement st=m_db->Prepare("UPDATE tblMessageInserts SET Day=?, InsertIndex=?, Inserted='true' WHERE MessageUUID=?;");\r
        st.Bind(0,idparts[5]);\r
@@ -64,6 +67,13 @@ const bool MessageInserter::HandlePutSuccessful(FCPMessage &message)
        st.Bind(2,idparts[1]);\r
        st.Step();\r
 \r
+       // insert record into temp table so MessageList will be inserted ASAP\r
+       date.SetToGMTime();\r
+       st=m_db->Prepare("INSERT INTO tmpMessageListInsert(LocalIdentityID,Date) VALUES(?,?);");\r
+       st.Bind(0,localidentityid);\r
+       st.Bind(1,date.Format("%Y-%m-%d"));\r
+       st.Step();\r
+\r
        RemoveFromInsertList(idparts[1]);\r
 \r
        m_log->WriteLog(LogFile::LOGLEVEL_DEBUG,"MessageInserter::HandlePutSuccessful successfully inserted message "+message["Identifier"]);\r