From 58d904a328c0d849769b483e901a0be9426b8209 Mon Sep 17 00:00:00 2001 From: liuxiaolong <liuxiaolong@aiotlink.com> Date: 星期二, 20 七月 2021 20:20:44 +0800 Subject: [PATCH] 调整Request C.BHFree的位置 --- 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