syntax = "proto3";
package d_engine.server.election;
option go_package = "github.com/deventlab/d-engine/proto/server/election";
message VoteRequest {
uint64 term = 1;
uint32 candidate_id = 2;
uint64 last_log_index = 3;
uint64 last_log_term = 4;
}
message VoteResponse {
uint64 term = 1;
bool vote_granted = 2;
uint64 last_log_index = 3;
uint64 last_log_term = 4;
}
message VotedFor {
uint32 voted_for_id = 1;
uint64 voted_for_term = 2;
bool committed = 3;
}
service RaftElectionService {
rpc RequestVote(VoteRequest) returns (VoteResponse);
}