26 lines
761 B
Python
26 lines
761 B
Python
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) |