Add files for Paxos decision system.

This commit is contained in:
DSTO\pivatom
2019-01-10 14:54:53 +10:30
parent c12c57bfcf
commit 2abdf7bc1e
6 changed files with 114 additions and 0 deletions

View File

@@ -0,0 +1,26 @@
from proposer import Proposer
from paxosmessenger import Messenger
class Acceptor():
highest_proposal = None
highest_promise = None
messenger = None
def __init__(self, messenger: Messenger):
self.messenger = messenger
def on_message(self, client, userdata, message):
pass
def prepare(self):
pass
def accept_request(self, fromt_uid, proposal_id, value):
'''
Called when an accept message is received from a proposer
'''
if proposal_id >= self.highest_promise:
self.highest_promise = proposal_id
self.accepted_id = proposal_id
self.accepted_value = value
self.messenger.send_accepted(proposal_id, self.accepted_value)