Solving some deadlocks and crashes
It is still some mystery with two clients and delays
diff --git a/model/sync-app-data-publish.h b/model/sync-app-data-publish.h
index 85bb9ae..aa05d6c 100644
--- a/model/sync-app-data-publish.h
+++ b/model/sync-app-data-publish.h
@@ -23,10 +23,11 @@
#ifndef SYNC_APP_DATA_PUBLISH_H
#define SYNC_APP_DATA_PUBLISH_H
-#include <boost/unordered_map.hpp>
+// #include <boost/unordered_map.hpp>
#include "sync-seq-no.h"
#include "sync-ccnx-wrapper.h"
#include <utility>
+#include <map>
namespace Sync {
@@ -78,14 +79,17 @@
* @param session session to which data is published
* @param dataBuffer the data itself
* @param freshness the freshness for the data object
- * @return whether the publish succeeded
+ * @return published sequence number, will throw an exception if something wrong happened
*/
- bool publishData (const std::string &name, uint32_t session, const std::string &dataBuffer, int freshness);
+ uint32_t publishData (const std::string &name, uint32_t session, const std::string &dataBuffer, int freshness);
private:
- boost::unordered_map<std::string, Seq> m_sequenceLog;
+ typedef std::map<std::string, Seq> SequenceLog;
+ typedef std::map<std::pair<std::string, uint32_t>, std::string> RecentData;
+
CcnxWrapperPtr m_ccnxHandle;
- boost::unordered_map<std::pair<std::string, uint32_t>, std::string> m_recentData;
+ SequenceLog m_sequenceLog;
+ RecentData m_recentData;
};
} // Sync