void ReplicatedLog::OnMessage(PaxosMessage& imsg) { Log_Trace(); bool processed; processed = false; if (imsg.type == PAXOS_PREPARE_REQUEST) processed = OnPrepareRequest(imsg); else if (imsg.IsPrepareResponse()) processed = OnPrepareResponse(imsg); else if (imsg.type == PAXOS_PROPOSE_REQUEST) processed = OnProposeRequest(imsg); else if (imsg.IsProposeResponse()) processed = OnProposeResponse(imsg); else if (imsg.IsLearn()) processed = OnLearnChosen(imsg); else if (imsg.type == PAXOS_REQUEST_CHOSEN) processed = OnRequestChosen(imsg); else if (imsg.type == PAXOS_START_CATCHUP) processed = OnStartCatchup(imsg); else ASSERT_FAIL(); if (processed) context->OnMessageProcessed(); }
void PLeaseAcceptor::ProcessMsg(PLeaseMsg& msg_) { msg = msg_; LOG_TRACE("ProcessMsg msg.paxosID: %llu, msg_: %llu", msg.paxosID, msg_.paxosID); assert (msg.paxosID == msg_.paxosID); if (msg.type == PLEASE_PREPARE_REQUEST) OnPrepareRequest(); else if (msg.type == PLEASE_PROPOSE_REQUEST) OnProposeRequest(); else ASSERT_FAIL(); }
void ReplicatedLog::OnMessage(PaxosMessage& imsg) { Log_Trace(); if (imsg.type == PAXOS_PREPARE_REQUEST) OnPrepareRequest(imsg); else if (imsg.IsPrepareResponse()) OnPrepareResponse(imsg); else if (imsg.type == PAXOS_PROPOSE_REQUEST) OnProposeRequest(imsg); else if (imsg.IsProposeResponse()) OnProposeResponse(imsg); else if (imsg.IsLearn()) OnLearnChosen(imsg); else if (imsg.type == PAXOS_REQUEST_CHOSEN) OnRequestChosen(imsg); else if (imsg.type == PAXOS_START_CATCHUP) OnStartCatchup(imsg); else ASSERT_FAIL(); }