func (i *instance) TwoATxnVotesReceived(request *msgs.TxnVoteAcceptRequest) (accepted bool, rejected bool) { roundNumber := paxosNumber(request.RoundNumber()) if roundNumber == i.acceptedNum && i.accepted != nil { // duplicate 2a. Don't issue any response. return } else if roundNumber == i.promiseNum || i.promiseNum == 0 { i.promiseNum = roundNumber i.acceptedNum = roundNumber ballot := request.Ballot() i.accepted = &ballot accepted = true return } else { rejected = true return } }