Browse Source

Test: PityTest - PitySwarm perspective transformation updated

master
heck 4 years ago
parent
commit
60f38eefc9
  1. 49
      src/PitySwarm.cc

49
src/PitySwarm.cc

@ -14,7 +14,10 @@ namespace pEp {
bool PitySwarm::debug_log_enabled = false; bool PitySwarm::debug_log_enabled = false;
PitySwarm::PitySwarm(const std::string& name, PityModel& model) : PitySwarm::PitySwarm(const std::string& name, PityModel& model) :
_model{ model }, _swarmUnit{ name, nullptr, nullptr, PityUnit<>::ExecutionMode::PROCESS_SEQUENTIAL } _model{ model }, _swarmUnit{ name,
nullptr,
nullptr,
PityUnit<>::ExecutionMode::PROCESS_SEQUENTIAL }
{ {
logger_debug.set_instancename(name); logger_debug.set_instancename(name);
pEpLogClass("called"); pEpLogClass("called");
@ -45,7 +48,7 @@ namespace pEp {
_swarmUnit.setExecMode(PityUnit<>::ExecutionMode::PROCESS_SEQUENTIAL); _swarmUnit.setExecMode(PityUnit<>::ExecutionMode::PROCESS_SEQUENTIAL);
_swarmUnit.setName(new_name); _swarmUnit.setName(new_name);
for (auto n : rhs._nodeUnits) { for (auto n : rhs._nodeUnits) {
TestUnit* tmp = &_swarmUnit.addCopy(TestUnit (*n.second)); TestUnit* tmp = &_swarmUnit.addCopy(TestUnit(*n.second));
_nodeUnits.insert(std::pair<int, TestUnit*>(n.first, tmp)); _nodeUnits.insert(std::pair<int, TestUnit*>(n.first, tmp));
} }
} }
@ -91,27 +94,41 @@ namespace pEp {
PityPerspective psp{ model }; PityPerspective psp{ model };
psp.own_name = model.nodeNr(node_nr)->getName(); psp.own_name = model.nodeNr(node_nr)->getName();
// Default partner is next node, its a circle
int partner_node_index = (node_nr + 1) % model.nodes().size();
psp.cpt_name = model.nodes().at(partner_node_index)->getName();
// Create peers, everyone but me // Create peers, everyone but me
auto nodes = model.nodes(); for (int i = 0; i < model.nodes().size(); i++) {
for (int i = 0; i < nodes.size(); i++) {
if (i != node_nr) { if (i != node_nr) {
psp.peers.push_back(nodes.at(i)->getName()); psp.peers.push_back(TestIdent(model.nodes().at(i)->getIdent()));
}
}
// Default partner is next node, its a circle
// int partner_node_index = (node_nr + 1) % model.nodes().size();
// psp.cpt_name = model.nodes().at(partner_node_index)->getName();
//Default partner is node 0
if (node_nr == 0) {
psp.setPeerNrAsCpt(0);
} else {
for (int i = 0; i < psp.peers.size(); i++) {
if (psp.peers.at(i).addr == model.nodeNr(0)->getIdent().addr) {
psp.setPeerNrAsCpt(i);
}
} }
} }
// Groups // Groups
int grp_mod_node_nr = 0; int grpOwneNode = 0;
if (grp_mod_node_nr == node_nr) { Group grp1 = Group{};
Test::Utils::Group grp1 = Test::Utils::Group{}; grp1.addr = "grp_" + model.nodeNr(grpOwneNode)->getName();
grp1.name = "grp_" + psp.own_name; grp1.moderator = model.nodeNr(grpOwneNode)->getName();
grp1.moderator = psp.own_name; // Create peers, everyone but me
grp1.members = psp.peers; for (int i = 0; i < model.nodes().size(); i++) {
psp.own_groups.push_back(grp1); if (i != grpOwneNode) {
grp1.members.push_back(TestIdent(model.nodes().at(i)->getIdent()));
}
} }
psp.groups.push_back(grp1);
return psp; return psp;
} }

Loading…
Cancel
Save