From 8f66b98ce305a9c8b9e0482e8ec166a2d14187fb Mon Sep 17 00:00:00 2001 From: Julien Clement Date: Tue, 5 May 2020 21:20:27 +0200 Subject: [PATCH] Calling receive_next_ballot after message treatment --- .../three-legislators/three-legislators1.json | 22 +++++++++++++++++++ .../three-legislators/three-legislators2.json | 22 +++++++++++++++++++ .../three-legislators/three-legislators3.json | 22 +++++++++++++++++++ legislator1/last-tried.txt | 1 - legislator2/last-tried.txt | 1 - src/legislator/legislator.cc | 6 +++-- 6 files changed, 70 insertions(+), 4 deletions(-) create mode 100644 config-files/three-legislators/three-legislators1.json create mode 100644 config-files/three-legislators/three-legislators2.json create mode 100644 config-files/three-legislators/three-legislators3.json delete mode 100644 legislator1/last-tried.txt delete mode 100644 legislator2/last-tried.txt diff --git a/config-files/three-legislators/three-legislators1.json b/config-files/three-legislators/three-legislators1.json new file mode 100644 index 0000000..ce8dc5c --- /dev/null +++ b/config-files/three-legislators/three-legislators1.json @@ -0,0 +1,22 @@ +{ + "legislators" : [ + { + "ip" : "127.0.0.1", + "port" : 8000, + "name" : "legislator1", + "self" : true + }, + { + "ip" : "127.0.0.1", + "port" : 8001, + "name" : "legislator2", + "self" : false + }, + { + "ip" : "127.0.0.1", + "port" : 8002, + "name" : "legislator3", + "self" : false + } + ] +} diff --git a/config-files/three-legislators/three-legislators2.json b/config-files/three-legislators/three-legislators2.json new file mode 100644 index 0000000..e30b89c --- /dev/null +++ b/config-files/three-legislators/three-legislators2.json @@ -0,0 +1,22 @@ +{ + "legislators" : [ + { + "ip" : "127.0.0.1", + "port" : 8000, + "name" : "legislator1", + "self" : false + }, + { + "ip" : "127.0.0.1", + "port" : 8001, + "name" : "legislator2", + "self" : true + }, + { + "ip" : "127.0.0.1", + "port" : 8002, + "name" : "legislator3", + "self" : false + } + ] +} diff --git a/config-files/three-legislators/three-legislators3.json b/config-files/three-legislators/three-legislators3.json new file mode 100644 index 0000000..d7b0d0d --- /dev/null +++ b/config-files/three-legislators/three-legislators3.json @@ -0,0 +1,22 @@ +{ + "legislators" : [ + { + "ip" : "127.0.0.1", + "port" : 8000, + "name" : "legislator1", + "self" : false + }, + { + "ip" : "127.0.0.1", + "port" : 8001, + "name" : "legislator2", + "self" : false + }, + { + "ip" : "127.0.0.1", + "port" : 8002, + "name" : "legislator3", + "self" : true + } + ] +} diff --git a/legislator1/last-tried.txt b/legislator1/last-tried.txt deleted file mode 100644 index bf0d87a..0000000 --- a/legislator1/last-tried.txt +++ /dev/null @@ -1 +0,0 @@ -4 \ No newline at end of file diff --git a/legislator2/last-tried.txt b/legislator2/last-tried.txt deleted file mode 100644 index e440e5c..0000000 --- a/legislator2/last-tried.txt +++ /dev/null @@ -1 +0,0 @@ -3 \ No newline at end of file diff --git a/src/legislator/legislator.cc b/src/legislator/legislator.cc index 32e7b82..344e7ed 100644 --- a/src/legislator/legislator.cc +++ b/src/legislator/legislator.cc @@ -28,6 +28,7 @@ namespace paxos Message message; message.set_method("NextBallot"); message.add_header("ballot", ballot_string); + message.add_header("sender", self->config_.name); for (auto legislator : legislators) SendEW::send_message(message, legislator.second); @@ -35,8 +36,9 @@ namespace paxos void Legislator::receive_next_ballot(Message message) { - message = message; - log("received NextBallot", green); + std::string ballot_str = *message.get_header("ballot"); + int ballot = std::stoi(ballot_str); + receive_next_ballot(ballot, *message.get_header("sender")); } void Legislator::receive_next_ballot(int ballot, std::string sender)