From 056f71f24cefaf88f2a93714c6678c03ed5f1e0e Mon Sep 17 00:00:00 2001
From: zhangmeng <775834166@qq.com>
Date: 星期五, 02 七月 2021 16:54:33 +0800
Subject: [PATCH] fixed to adapt gcc-5.4 & glibc-2.25
---
utest/util.h | 40 +++++++++++++++++++++++++++++++++-------
1 files changed, 33 insertions(+), 7 deletions(-)
diff --git a/utest/util.h b/utest/util.h
index ca58cd7..53f747f 100644
--- a/utest/util.h
+++ b/utest/util.h
@@ -20,10 +20,8 @@
#define UTIL_W8A0OA5U
#include "bh_util.h"
-#include "msg.h"
#include "shm.h"
-#include "shm_queue.h"
-#include <boost/date_time/posix_time/posix_time.hpp>
+#include "topic_node.h"
#include <boost/noncopyable.hpp>
#include <boost/test/unit_test.hpp>
#include <boost/timer/timer.hpp>
@@ -35,10 +33,17 @@
#include <thread>
#include <vector>
-using namespace boost::posix_time;
-inline ptime Now() { return second_clock::universal_time(); };
-
using namespace std::chrono_literals;
+using namespace std::chrono;
+
+template <class D>
+inline void Sleep(D d, bool print = true)
+{
+ if (print) {
+ printf("sleep for %ld ms\n", std::chrono::duration_cast<std::chrono::milliseconds>(d).count());
+ }
+ std::this_thread::sleep_for(d);
+}
typedef std::function<void(void)> FuncVV;
@@ -58,7 +63,7 @@
public:
~ThreadManager() { WaitAll(); }
template <class T, class... P>
- void Launch(T t, P... p) { threads_.emplace_back(t, p...); }
+ void Launch(T &&t, P &&...p) { threads_.emplace_back(std::forward<decltype(t)>(t), std::forward<decltype(p)>(p)...); }
void WaitAll()
{
for (auto &t : threads_) {
@@ -107,4 +112,25 @@
~ShmRemover() { SharedMemory::Remove(name_); }
};
+class DemoNode : public TopicNode
+{
+ std::string id_;
+
+public:
+ DemoNode(const std::string &id, SharedMemory &shm) :
+ TopicNode(shm), id_(id) { Init(); }
+ void Init()
+ {
+ ProcInfo proc;
+ proc.set_proc_id(id_);
+ MsgCommonReply reply_body;
+
+ if (!Register(proc, reply_body, 1000)) {
+ printf("node %s register failed\n", id_.c_str());
+ }
+ }
+};
+
+bhome_shm::SharedMemory &TestShm();
+
#endif // end of include guard: UTIL_W8A0OA5U
--
Gitblit v1.8.0