From c0d61292ef6bdd8e2e93525b5df6a8ec5c017c32 Mon Sep 17 00:00:00 2001
From: lichao <lichao@aiotlink.com>
Date: 星期五, 14 五月 2021 14:09:27 +0800
Subject: [PATCH] change refcount, avoid ShmMsgQueue AddRef on send.

---
 src/sendq.cpp |   22 ++--------------------
 1 files changed, 2 insertions(+), 20 deletions(-)

diff --git a/src/sendq.cpp b/src/sendq.cpp
index 36af264..94e315e 100644
--- a/src/sendq.cpp
+++ b/src/sendq.cpp
@@ -40,26 +40,8 @@
 	}
 
 	auto SendData = [&](Data &d) {
-		auto TryLoop = [&](auto &&data) {
-			for (int i = 0; i < 1; ++i) {
-				if (mq.TrySend(remote, data)) {
-					return true;
-				}
-			}
-			return false;
-		};
-		bool r = false;
-		if (d.index() == 0) {
-			auto &msg = boost::variant2::get<0>(pos->data().data_);
-			r = TryLoop(msg);
-			if (r) {
-				msg.Release();
-			}
-		} else {
-			auto command = boost::variant2::get<1>(pos->data().data_);
-			r = TryLoop(command);
-		}
-		return r;
+		auto TrySend = [&](auto &&data) { return mq.TrySend(remote, data); };
+		return boost::variant2::visit(TrySend, pos->data().data_);
 	};
 
 	while (pos != arr.end() && SendData(pos->data().data_)) {

--
Gitblit v1.8.0