diff --git a/src/raft.cpp b/src/raft.cpp index a5541d5..1d5705f 100644 --- a/src/raft.cpp +++ b/src/raft.cpp @@ -70,7 +70,7 @@ TRaft::TRaft(int node, const TNodeDict& nodes, const std::shared_ptr TRaft::OnRequestVote(TMessageHolder message) { if (message->Term < State->CurrentTerm) { - auto reply = NewHoldedMessage(static_cast(EMessageType::REQUEST_VOTE_RESPONSE), sizeof(TRequestVoteResponse)); + auto reply = NewHoldedMessage(); reply->Src = Id; reply->Dst = message->Src; reply->Term = State->CurrentTerm; @@ -88,7 +88,7 @@ std::unique_ptr TRaft::OnRequestVote(TMessageHolder(static_cast(EMessageType::REQUEST_VOTE_RESPONSE), sizeof(TRequestVoteResponse)); + auto reply = NewHoldedMessage(); reply->Src = Id; reply->Dst = message->Src; reply->Term = message->Term; @@ -202,7 +202,7 @@ std::unique_ptr TRaft::OnAppendEntries(TMessageHolderLeaderCommit); } - auto reply = NewHoldedMessage(static_cast(EMessageType::APPEND_ENTRIES_RESPONSE), sizeof(TAppendEntriesResponse)); + auto reply = NewHoldedMessage(); reply->Src = Id; reply->Dst = message->Src; reply->Term = State->CurrentTerm; @@ -247,9 +247,7 @@ std::unique_ptr TRaft::OnAppendEntries(TMessageHolder TRaft::CreateVote() { - auto mes = NewHoldedMessage( - static_cast(EMessageType::REQUEST_VOTE_REQUEST), - sizeof(TRequestVoteRequest)); + auto mes = NewHoldedMessage(); mes->Src = Id; mes->Dst = 0; mes->Term = State->CurrentTerm+1; @@ -344,7 +342,7 @@ std::unique_ptr TRaft::Leader(ITimeSource::Time now, TMessageHolderLog; auto dataSize = command->Len - sizeof(TCommandRequest); - auto entry = NewHoldedMessage(static_cast(EMessageType::LOG_ENTRY), sizeof(TLogEntry)+dataSize); + auto entry = NewHoldedMessage(sizeof(TLogEntry)+dataSize); memcpy(entry->Data, command->Data, dataSize); log.push_back(entry); auto nextState = std::make_unique(TState { @@ -354,10 +352,12 @@ std::unique_ptr TRaft::Leader(ITimeSource::Time now, TMessageHolder(TResult { .NextState = std::move(nextState), .NextVolatileState = std::make_unique(nextVolatileState), - .Message = NewHoldedMessage(static_cast(EMessageType::COMMAND_RESPONSE), sizeof(TCommandResponse)), + .Message = NewHoldedMessage(), }); } else if (auto maybeVoteRequest = message.Maybe()) { return OnRequestVote(std::move(maybeVoteRequest.Cast()));