From e9984ced808cdd0be956630e25a431853c91e478 Mon Sep 17 00:00:00 2001
From: zhangmeng <775834166@qq.com>
Date: 星期二, 21 十二月 2021 10:43:57 +0800
Subject: [PATCH] performance

---
 src/nng_wrap.cpp |   12 ++++++------
 1 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/src/nng_wrap.cpp b/src/nng_wrap.cpp
index 660f106..ed4d4ba 100644
--- a/src/nng_wrap.cpp
+++ b/src/nng_wrap.cpp
@@ -178,7 +178,7 @@
     lock_guard<mutex> l{pub->mtx_msg_};
     pub->msg_.emplace_back(topic, string{(const char*)data, (const size_t)data_len});
     pub->cv_msg_.notify_one();
-    return pub->msg_.size();
+    return (*pub)();
 }
 
 ///////////////////////////////////////////////
@@ -208,7 +208,7 @@
                 nn_freemsg(m);
                 string topic{}, msg{};
                 {
-                    lock_guard<mutex> l{sub->mtx_topics_};
+                    lock_guard<mutex> l{(*sub)()};
                     for(auto && i : sub->topics_){
                         if (tmp_msg.size() < i.size()) continue;
                         topic = move(tmp_msg.substr(0, i.size()));
@@ -266,7 +266,7 @@
         lock_guard<mutex> l{sub->mtx_failed_topics_};
         sub->failed_topics_.insert(topic);
     }
-    lock_guard<mutex> l{sub->mtx_topics_};
+    lock_guard<mutex> l{(*sub)()};
     sub->topics_.insert(topic);
 
     return 0;
@@ -276,7 +276,7 @@
     _ps_sub* sub = (_ps_sub*)arg;
     if (!sub) sub = singleton<_ps_sub>();
 
-    lock_guard<mutex> l(sub->mtx_topics_);
+    lock_guard<mutex> l{(*sub)()};
     auto iter = sub->topics_.find(topic);
     if (iter != sub->topics_.end()){
         nn_setsockopt(sub->socket_, NN_SUB, NN_SUB_UNSUBSCRIBE, topic.c_str(), topic.length());
@@ -324,7 +324,7 @@
         TAG;
 
         int& sock = sv->socket_;
-        const auto& msg = sv->fixed_msg_;
+
         while (!sv->t_quit_.load()) {
             if (sock < 0){
                 sock = client_socket(sv->url_, NN_RESPONDENT);
@@ -336,7 +336,7 @@
             int rc = nn_recv(sock, &tmp, NN_MSG, 0);
             if (rc > 0){
                 nn_freemsg(tmp);
-                rc = nn_send(sock, msg.data(), msg.size(), 0);
+                rc = nn_send(sock, (*sv)().front().data(), (*sv)().front().size(), 0);
                 if (rc < 0){
                     PRNTVITAG("heartbeat survey failed");
                     PRNTVITAG(nn_strerror(nn_errno()));

--
Gitblit v1.8.0