From 2079c8eafb96bd59edfbe54e8e4bc7e59d7668c7 Mon Sep 17 00:00:00 2001 From: mutouyun Date: Thu, 4 Apr 2019 23:15:53 +0800 Subject: [PATCH] rename parameter --- include/ipc.h | 15 ++++++++++----- src/ipc.cpp | 4 ++-- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/include/ipc.h b/include/ipc.h index 49b1800..c8b339f 100644 --- a/include/ipc.h +++ b/include/ipc.h @@ -13,9 +13,14 @@ namespace ipc { using handle_t = void*; using buff_t = buffer; +enum : unsigned { + sender, + receiver +}; + template struct IPC_EXPORT chan_impl { - static handle_t connect (char const * name, bool start); + static handle_t connect (char const * name, unsigned mode); static void disconnect(handle_t h); static std::size_t recv_count(handle_t h); @@ -39,8 +44,8 @@ private: public: chan_wrapper() = default; - explicit chan_wrapper(char const * name, bool start = false) { - this->connect(name, start); + explicit chan_wrapper(char const * name, unsigned mode = sender) { + this->connect(name, mode); } chan_wrapper(chan_wrapper&& rhs) { @@ -77,10 +82,10 @@ public: return chan_wrapper { name() }; } - bool connect(char const * name, bool start = true) { + bool connect(char const * name, unsigned mode = sender | receiver) { if (name == nullptr || name[0] == '\0') return false; this->disconnect(); - h_ = detail_t::connect((n_ = name).c_str(), start); + h_ = detail_t::connect((n_ = name).c_str(), mode); return valid(); } diff --git a/src/ipc.cpp b/src/ipc.cpp index 2ba44e5..45e22bc 100755 --- a/src/ipc.cpp +++ b/src/ipc.cpp @@ -346,8 +346,8 @@ using policy_t = policy::choose; namespace ipc { template -ipc::handle_t chan_impl::connect(char const * name, bool start) { - return detail_impl>::connect(name, start); +ipc::handle_t chan_impl::connect(char const * name, unsigned mode) { + return detail_impl>::connect(name, mode & receiver); } template