Ejemplo n.º 1
0
void PaxosProposer::StartPreparing()
{
    PaxosMessage omsg;
    
    Log_Trace();

    StopProposing();

    NewVote();
    state.preparing = true;
    state.numProposals++;
    state.proposalID = REPLICATION_CONFIG->NextProposalID(MAX(state.proposalID, state.highestPromisedProposalID));
    state.highestReceivedProposalID = 0;
    
    omsg.PrepareRequest(context->GetPaxosID(), MY_NODEID, state.proposalID);
    BroadcastMessage(omsg);
    
    EventLoop::Reset(&prepareTimeout);
}