From 45a432ad29c54f7c9691dbf1661114cf4b56c15b Mon Sep 17 00:00:00 2001 From: heck Date: Wed, 9 Jun 2021 01:18:16 +0200 Subject: [PATCH] Test: PityTest - Add test_swarm --- test/test_swarm.cc | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 test/test_swarm.cc diff --git a/test/test_swarm.cc b/test/test_swarm.cc new file mode 100644 index 0000000..0601c9e --- /dev/null +++ b/test/test_swarm.cc @@ -0,0 +1,42 @@ +#include "../src/PityUnit.hh" +#include "../src/PityModel.hh" +#include "../../../src/std_utils.hh" + +using namespace pEp; +using namespace pEp::Adapter; +using namespace pEp::PityTest11; + +void test_node1(const PityUnit& unit) +{ + unit.log("ModelName:" + unit.getModel()->getName()); + unit.log("own_node:" + unit.getModel()->own_node->getName()); + unit.log("partner:" + unit.getModel()->own_node->partner); + + std::string msg = "Message from: " + unit.getPathShort(); + int throttle = 10; + while (true) { + Utils::sleep_millis(throttle); + for (auto peer : unit.getModel()->own_node->peers) { + unit.getModel()->sendMsg(peer, msg); + Utils::sleep_millis(throttle); + } + + while (unit.getModel()->hasMsg()) { + unit.log("MSG RX:" + unit.getModel()->receiveMsg()); + Utils::sleep_millis(throttle); + } + } +} + +int main(int argc, char* argv[]) +{ + int nodesCount = 64; + PityModel model{ "test_swarm", nodesCount }; + + std::vector>> nodeUnits; + for (int i = 0; i < nodesCount; i++) { + nodeUnits.emplace_back(std::make_shared>(model.unitOfNodeNr(i), "test1", &test_node1 )); + } + + model.run(); +} \ No newline at end of file