mirror of
https://github.com/mutouyun/cpp-ipc.git
synced 2025-12-06 16:56:45 +08:00
adjust constant definition
This commit is contained in:
parent
17c0bc76c3
commit
b9cc885568
@ -28,9 +28,9 @@ using uint_t = typename uint<N>::type;
|
|||||||
enum : std::size_t {
|
enum : std::size_t {
|
||||||
invalid_value = (std::numeric_limits<std::size_t>::max)(),
|
invalid_value = (std::numeric_limits<std::size_t>::max)(),
|
||||||
data_length = 64,
|
data_length = 64,
|
||||||
small_msg_limit = data_length,
|
large_msg_limit = data_length,
|
||||||
large_msg_cache = 32,
|
large_msg_cache = 32,
|
||||||
default_timeut = 100 // ms
|
default_timeout = 100 // ms
|
||||||
};
|
};
|
||||||
|
|
||||||
enum class relat { // multiplicity of the relationship
|
enum class relat { // multiplicity of the relationship
|
||||||
|
|||||||
@ -110,7 +110,7 @@ struct cls_info_t {
|
|||||||
};
|
};
|
||||||
|
|
||||||
constexpr std::size_t calc_cls_size(std::size_t size) noexcept {
|
constexpr std::size_t calc_cls_size(std::size_t size) noexcept {
|
||||||
return (((size - 1) / small_msg_limit) + 1) * small_msg_limit;
|
return (((size - 1) / large_msg_limit) + 1) * large_msg_limit;
|
||||||
}
|
}
|
||||||
|
|
||||||
auto& cls_storage(std::size_t cls_size) {
|
auto& cls_storage(std::size_t cls_size) {
|
||||||
@ -402,7 +402,7 @@ static bool send(F&& gen_push, ipc::handle_t h, void const * data, std::size_t s
|
|||||||
}
|
}
|
||||||
auto msg_id = acc->fetch_add(1, std::memory_order_relaxed);
|
auto msg_id = acc->fetch_add(1, std::memory_order_relaxed);
|
||||||
auto try_push = std::forward<F>(gen_push)(info_of(h), que, msg_id);
|
auto try_push = std::forward<F>(gen_push)(info_of(h), que, msg_id);
|
||||||
if (size > small_msg_limit) {
|
if (size > large_msg_limit) {
|
||||||
auto dat = apply_storage(que->conn_count(), size);
|
auto dat = apply_storage(que->conn_count(), size);
|
||||||
void * buf = dat.second;
|
void * buf = dat.second;
|
||||||
if (buf != nullptr) {
|
if (buf != nullptr) {
|
||||||
@ -437,7 +437,7 @@ static bool send(ipc::handle_t h, void const * data, std::size_t size) {
|
|||||||
return [info, que, msg_id](std::int32_t remain, void const * data, std::size_t size) {
|
return [info, que, msg_id](std::int32_t remain, void const * data, std::size_t size) {
|
||||||
if (!wait_for(info->wt_waiter_, [&] {
|
if (!wait_for(info->wt_waiter_, [&] {
|
||||||
return !que->push(info->cc_id_, msg_id, remain, data, size);
|
return !que->push(info->cc_id_, msg_id, remain, data, size);
|
||||||
}, que->dis_flag() ? 0 : static_cast<std::size_t>(default_timeut))) {
|
}, que->dis_flag() ? 0 : static_cast<std::size_t>(default_timeout))) {
|
||||||
ipc::log("force_push: msg_id = %zd, remain = %d, size = %zd\n", msg_id, remain, size);
|
ipc::log("force_push: msg_id = %zd, remain = %d, size = %zd\n", msg_id, remain, size);
|
||||||
if (!que->force_push([](void* p) {
|
if (!que->force_push([](void* p) {
|
||||||
auto tmp_msg = static_cast<typename queue_t::value_t*>(p);
|
auto tmp_msg = static_cast<typename queue_t::value_t*>(p);
|
||||||
|
|||||||
@ -271,7 +271,7 @@ public:
|
|||||||
if (counter_ > 0) {
|
if (counter_ > 0) {
|
||||||
ret = sem_helper::post(std::get<1>(h));
|
ret = sem_helper::post(std::get<1>(h));
|
||||||
-- counter_;
|
-- counter_;
|
||||||
ret = ret && sem_helper::wait(std::get<2>(h), default_timeut);
|
ret = ret && sem_helper::wait(std::get<2>(h), default_timeout);
|
||||||
}
|
}
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
@ -289,7 +289,7 @@ public:
|
|||||||
}
|
}
|
||||||
do {
|
do {
|
||||||
-- counter_;
|
-- counter_;
|
||||||
ret = ret && sem_helper::wait(std::get<2>(h), default_timeut);
|
ret = ret && sem_helper::wait(std::get<2>(h), default_timeout);
|
||||||
} while (counter_ > 0);
|
} while (counter_ > 0);
|
||||||
}
|
}
|
||||||
return ret;
|
return ret;
|
||||||
|
|||||||
@ -136,7 +136,7 @@ public:
|
|||||||
if (*counter_ > 0) {
|
if (*counter_ > 0) {
|
||||||
ret = sema_.post();
|
ret = sema_.post();
|
||||||
-- *counter_;
|
-- *counter_;
|
||||||
ret = ret && handshake_.wait(default_timeut);
|
ret = ret && handshake_.wait(default_timeout);
|
||||||
}
|
}
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
@ -152,7 +152,7 @@ public:
|
|||||||
ret = sema_.post(*counter_);
|
ret = sema_.post(*counter_);
|
||||||
do {
|
do {
|
||||||
-- *counter_;
|
-- *counter_;
|
||||||
ret = ret && handshake_.wait(default_timeut);
|
ret = ret && handshake_.wait(default_timeout);
|
||||||
} while (*counter_ > 0);
|
} while (*counter_ > 0);
|
||||||
}
|
}
|
||||||
return ret;
|
return ret;
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user