From 491d98b3ba32cafed5682552bd870ca0ef93275c Mon Sep 17 00:00:00 2001 From: lichao <lichao@aiotlink.com> Date: 星期二, 30 三月 2021 18:29:09 +0800 Subject: [PATCH] add ShmSocket as shm interface, add sub/pub. --- src/shm.h | 4 +++- 1 files changed, 3 insertions(+), 1 deletions(-) diff --git a/src/shm.h b/src/shm.h index 5e2c8b9..0f68754 100644 --- a/src/shm.h +++ b/src/shm.h @@ -61,6 +61,7 @@ template <class T, class ...Params> T * New(Params const&...params) { return construct<T>(anonymous_instance, std::nothrow)(params...); } template <class T> void Delete(T *p) { if (p) { destroy_ptr<T>(p); }; } template <class T> void Delete(offset_ptr<T> p) { Delete(p.get()); } + template <class T> T *Find(const std::string &name) { return find<T>(name.c_str()).first; } }; @@ -91,7 +92,8 @@ throw("Error: Not enough memory, can not allocate \"" + name_ + "\""); } } - Data *find(const std::string &name) { return shm_.find<Data>(ObjName(name).c_str()).first; } + static Data *Find(SharedMemory &shm, const std::string &name) { return shm.Find<Data>(ObjName(name)); } + Data *Find(const std::string &name) { return Find(shm_, ObjName(name)); } virtual ~ShmObject() {} std::string name() const { return name_; } Data* data() { return pdata_; } -- Gitblit v1.8.0