Я пытаюсь реализовать алгоритм консенсуса Raft, но по какой-то причине возникают проблемы с использованием вызовов RP C. Я использую labrp c. go для выполнения вызовов.
Моя подпись функции:
func (rf *Raft) RequestVotes(args RequestVoteArgs, reply *RequestVoteReply) bool
и вызов, который я делаю
if err := rf.peers[peerIdx].Call("Raft.RequestVotes", args, &reply); err == false {
Raft struct:
type Raft struct {
...
peers []*labrpc.ClientEnd // RPC end points of all peers
...
}
Но я продолжаю получать эту ошибку:
labrp c .Service.dispatch (): unknown method RequestVotes in Raft.RequestVotes; ожидает один из []
У меня также есть несколько других Raft.
методов, поэтому должен ли , ожидающий одного из [] , быть непустым?