BUG: handling of the transaction log was totally wrong, though easily solved
diff --git a/model/sync-app-data-fetch.cc b/model/sync-app-data-fetch.cc
index 4cf22a3..b3bf362 100644
--- a/model/sync-app-data-fetch.cc
+++ b/model/sync-app-data-fetch.cc
@@ -21,6 +21,7 @@
*/
#include "sync-app-data-fetch.h"
+#include "sync-log.h"
using namespace std;
using namespace boost;
@@ -28,9 +29,13 @@
namespace Sync
{
+INIT_LOGGER ("AppDataFetch");
+
void
AppDataFetch::onUpdate (const std::string &prefix, const SeqNo &newSeq, const SeqNo &oldSeq)
{
+ _LOG_FUNCTION (this << ", " << prefix << ", " << newSeq << ", " << oldSeq);
+
// sequence number logic here
uint32_t start = 0;
if (oldSeq.isValid ())
@@ -54,6 +59,8 @@
void
AppDataFetch::onRemove (const std::string &prefix)
{
+ _LOG_FUNCTION (this << ", " << prefix);
+
// I guess this should be somewhere in app
}
diff --git a/model/sync-logic.cc b/model/sync-logic.cc
index 088f8e3..2134256 100644
--- a/model/sync-logic.cc
+++ b/model/sync-logic.cc
@@ -284,7 +284,7 @@
}
m_log.erase (m_state.getDigest()); // remove diff state with the same digest. next pointers are still valid
/// @todo Optimization
- m_log.insert (diffLog);
+ m_log.get<sequenced> ().push_front (diffLog);
_LOG_DEBUG (*diffLog->getDigest () << " " << m_log.size ());
}