From 6eefba812ede29549af3633c490f2e85a4805524 Mon Sep 17 00:00:00 2001 From: lichao <lichao@aiotlink.com> Date: 星期三, 31 三月 2021 11:24:20 +0800 Subject: [PATCH] format code style. --- utest/utest.cpp | 279 ++++++++++++++++++++++++++++--------------------------- 1 files changed, 142 insertions(+), 137 deletions(-) diff --git a/utest/utest.cpp b/utest/utest.cpp index bb5c14d..473b04e 100644 --- a/utest/utest.cpp +++ b/utest/utest.cpp @@ -1,167 +1,172 @@ -#include <stdio.h> -#include <string> -#include <vector> -#include <thread> +#include "defs.h" +#include "pubsub.h" +#include "socket.h" +#include "util.h" #include <atomic> #include <boost/uuid/uuid_generators.hpp> #include <boost/uuid/uuid_io.hpp> -#include "pubsub.h" -#include "defs.h" -#include "util.h" -#include "socket.h" +#include <stdio.h> +#include <string> +#include <thread> +#include <vector> -template <class A, class B> struct IsSameType { static const bool value = false; }; -template <class A> struct IsSameType<A,A> { static const bool value = true; }; - +template <class A, class B> +struct IsSameType { + static const bool value = false; +}; +template <class A> +struct IsSameType<A, A> { + static const bool value = true; +}; BOOST_AUTO_TEST_CASE(Temp) { - std::string topics[] = { - "", - ".", - "a", - "sp", - "sport", - "sport.", - "sport.a", - "sport.a.b.c", - "sport.ab.c", - "sport.basketball", - "sport.football", - }; - const char sep = '.'; - auto Adjust = [&](const std::string &user_topic) { - if (user_topic.empty() || user_topic.back() == sep) { - return user_topic; - } else { - return user_topic + sep; - } - }; + std::string topics[] = { + "", + ".", + "a", + "sp", + "sport", + "sport.", + "sport.a", + "sport.a.b.c", + "sport.ab.c", + "sport.basketball", + "sport.football", + }; + const char sep = '.'; + auto Adjust = [&](const std::string &user_topic) { + if (user_topic.empty() || user_topic.back() == sep) { + return user_topic; + } else { + return user_topic + sep; + } + }; - for (auto &t : topics) { - const std::string &a = Adjust(t); - printf("orig: %20s adjusted: %20s parts:[", ("'" + t + "'").c_str(), ('\'' + a + '\'').c_str()); + for (auto &t : topics) { + const std::string &a = Adjust(t); + printf("orig: %20s adjusted: %20s parts:[", ("'" + t + "'").c_str(), ('\'' + a + '\'').c_str()); - size_t pos = 0; - while (true) { - auto &topic = t; - pos = topic.find(kTopicSep, pos); - if (pos == topic.npos || ++pos == topic.size()) { - // Find1(std::string()); // sub all. - break; - } else { - printf("'%s',", topic.substr(0, pos).c_str()); - } - } - printf("]\n"); - } + size_t pos = 0; + while (true) { + auto &topic = t; + pos = topic.find(kTopicSep, pos); + if (pos == topic.npos || ++pos == topic.size()) { + // Find1(std::string()); // sub all. + break; + } else { + printf("'%s',", topic.substr(0, pos).c_str()); + } + } + printf("]\n"); + } } BOOST_AUTO_TEST_CASE(PubSubTest) { - const std::string shm_name("ShmPubSub"); - ShmRemover auto_remove(shm_name); //remove twice? in case of killed? - SharedMemory shm(shm_name, 1024*1024*50); - auto Avail = [&]() { return shm.get_free_memory(); }; - auto init_avail = Avail(); + const std::string shm_name("ShmPubSub"); + ShmRemover auto_remove(shm_name); //remove twice? in case of killed? + SharedMemory shm(shm_name, 1024 * 1024 * 50); + auto Avail = [&]() { return shm.get_free_memory(); }; + auto init_avail = Avail(); - BusManager bus(shm); - bus.Start(1); - std::this_thread::sleep_for(100ms); + BusManager bus(shm); + bus.Start(1); + std::this_thread::sleep_for(100ms); - std::atomic<uint64_t> count(0); - std::atomic<ptime> last_time(Now() - seconds(1)); - std::atomic<uint64_t> last_count(0); + std::atomic<uint64_t> count(0); + std::atomic<ptime> last_time(Now() - seconds(1)); + std::atomic<uint64_t> last_count(0); - const uint64_t nmsg = 100; - const int timeout = 1000; - auto Sub = [&](int id, const std::vector<std::string> &topics) { - ShmSocket client(ShmSocket::eSockSubscribe, shm); - bool r = client.Subscribe(topics, timeout); - std::mutex mutex; - std::condition_variable cv; + const uint64_t nmsg = 100; + const int timeout = 1000; + auto Sub = [&](int id, const std::vector<std::string> &topics) { + ShmSocket client(ShmSocket::eSockSubscribe, shm); + bool r = client.Subscribe(topics, timeout); + std::mutex mutex; + std::condition_variable cv; - int i = 0; - auto OnRecv = [&](BHMsg &msg) { - if (msg.type() != kMsgTypePublish) { - BOOST_CHECK(false); - } - DataPub pub; - if (!pub.ParseFromString(msg.body())) { - BOOST_CHECK(false); - } - ++count; + int i = 0; + auto OnRecv = [&](BHMsg &msg) { + if (msg.type() != kMsgTypePublish) { + BOOST_CHECK(false); + } + DataPub pub; + if (!pub.ParseFromString(msg.body())) { + BOOST_CHECK(false); + } + ++count; - auto cur = Now(); - if (last_time.exchange(cur) < cur) { - std::cout << "time: " << cur; - printf("sub recv, total msg:%10ld, speed:[%8ld/s], used mem:%8ld \n", - count.load(), count - last_count.exchange(count), init_avail - Avail()); - } - if (++i >= nmsg*topics.size()) { - cv.notify_one(); - } - // printf("sub %2d recv: %s/%s\n", id, pub.topic().c_str(), pub.data().c_str()); - }; - client.SetRecvCallback(OnRecv); + auto cur = Now(); + if (last_time.exchange(cur) < cur) { + std::cout << "time: " << cur; + printf("sub recv, total msg:%10ld, speed:[%8ld/s], used mem:%8ld \n", + count.load(), count - last_count.exchange(count), init_avail - Avail()); + } + if (++i >= nmsg * topics.size()) { + cv.notify_one(); + } + // printf("sub %2d recv: %s/%s\n", id, pub.topic().c_str(), pub.data().c_str()); + }; + client.SetRecvCallback(OnRecv); - std::unique_lock<std::mutex> lk(mutex); - cv.wait(lk); + std::unique_lock<std::mutex> lk(mutex); + cv.wait(lk); + }; - }; + auto Pub = [&](const std::string &topic) { + ShmSocket provider(ShmSocket::eSockPublish, shm); + for (int i = 0; i < nmsg; ++i) { + std::string data = topic + std::to_string(i) + std::string(1000, '-'); - auto Pub = [&](const std::string &topic) { - ShmSocket provider(ShmSocket::eSockPublish, shm); - for (int i = 0; i < nmsg; ++i) { - std::string data = topic + std::to_string(i) + std::string(1000, '-'); + bool r = provider.Publish(topic, data.data(), data.size(), timeout); + // bool r = provider.Send(kBHBusQueueId, MakePub(topic, data.data(), data.size()), timeout); + if (!r) { + printf("pub ret: %s\n", r ? "ok" : "fail"); + } + } + }; + ThreadManager threads; + typedef std::vector<std::string> Topics; + Topics topics; + for (int i = 0; i < 100; ++i) { + topics.push_back("t" + std::to_string(i)); + } + Topics part; + for (int i = 0; i < topics.size(); ++i) { + part.push_back(topics[i]); + threads.Launch(Sub, i, topics); + } + std::this_thread::sleep_for(100ms); + for (auto &topic : topics) { + threads.Launch(Pub, topic); + } + threads.Launch(Pub, "some_else"); - bool r = provider.Publish(topic, data.data(), data.size(), timeout); - // bool r = provider.Send(kBHBusQueueId, MakePub(topic, data.data(), data.size()), timeout); - if (!r) { - printf("pub ret: %s\n", r ? "ok" : "fail"); - } - } - }; - ThreadManager threads; - typedef std::vector<std::string> Topics; - Topics topics; - for (int i = 0; i < 100; ++i) { - topics.push_back("t" + std::to_string(i)); - } - Topics part; - for (int i = 0; i < topics.size(); ++i) { - part.push_back(topics[i]); - threads.Launch(Sub, i, topics); - } - std::this_thread::sleep_for(100ms); - for (auto &topic: topics) { - threads.Launch(Pub, topic); - } - threads.Launch(Pub, "some_else"); + threads.WaitAll(); + std::cout << "end : " << Now(); + printf("sub recv, total msg:%10ld, speed:[%8ld/s], used mem:%8ld \n", + count.load(), count - last_count.exchange(count), init_avail - Avail()); - threads.WaitAll(); - std::cout << "end : " << Now(); - printf("sub recv, total msg:%10ld, speed:[%8ld/s], used mem:%8ld \n", - count.load(), count - last_count.exchange(count), init_avail - Avail()); - - bus.Stop(); + bus.Stop(); } -inline int MyMin(int a, int b) { - printf("MyMin\n"); - return a < b ? a : b; +inline int MyMin(int a, int b) +{ + printf("MyMin\n"); + return a < b ? a : b; } + int test_main(int argc, char *argv[]) { - printf("test main\n"); - int a = 0; - int b = 0; - BOOST_CHECK_EQUAL(a, b); - int n = MyMin(4,6); - for (int i = 0; i < n; ++i) { - printf("i = %d\n", i); - } + printf("test main\n"); + int a = 0; + int b = 0; + BOOST_CHECK_EQUAL(a, b); + int n = MyMin(4, 6); + for (int i = 0; i < n; ++i) { + printf("i = %d\n", i); + } - return 0; + return 0; } - -- Gitblit v1.8.0