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 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(); }