rename parameter

This commit is contained in:
mutouyun 2019-04-04 23:15:53 +08:00
parent 5784b29521
commit 2079c8eafb
2 changed files with 12 additions and 7 deletions

View File

@ -13,9 +13,14 @@ namespace ipc {
using handle_t = void*; using handle_t = void*;
using buff_t = buffer; using buff_t = buffer;
enum : unsigned {
sender,
receiver
};
template <typename Flag> template <typename Flag>
struct IPC_EXPORT chan_impl { 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 void disconnect(handle_t h);
static std::size_t recv_count(handle_t h); static std::size_t recv_count(handle_t h);
@ -39,8 +44,8 @@ private:
public: public:
chan_wrapper() = default; chan_wrapper() = default;
explicit chan_wrapper(char const * name, bool start = false) { explicit chan_wrapper(char const * name, unsigned mode = sender) {
this->connect(name, start); this->connect(name, mode);
} }
chan_wrapper(chan_wrapper&& rhs) { chan_wrapper(chan_wrapper&& rhs) {
@ -77,10 +82,10 @@ public:
return chan_wrapper { name() }; 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; if (name == nullptr || name[0] == '\0') return false;
this->disconnect(); this->disconnect();
h_ = detail_t::connect((n_ = name).c_str(), start); h_ = detail_t::connect((n_ = name).c_str(), mode);
return valid(); return valid();
} }

View File

@ -346,8 +346,8 @@ using policy_t = policy::choose<circ::elem_array, Flag>;
namespace ipc { namespace ipc {
template <typename Flag> template <typename Flag>
ipc::handle_t chan_impl<Flag>::connect(char const * name, bool start) { ipc::handle_t chan_impl<Flag>::connect(char const * name, unsigned mode) {
return detail_impl<policy_t<Flag>>::connect(name, start); return detail_impl<policy_t<Flag>>::connect(name, mode & receiver);
} }
template <typename Flag> template <typename Flag>