Refactor higher term handling (#149)
This PR refactors code regarding `term` handling inside `raft_recv_appendentries()` and `raft_recv_snapshot()` without introducing any logic changes. - Deleted `raft_receive_term()` function: This function sets the node as follower in certain cases. Although, it misses the pre-candidate state. We already set the node as follower inside `raft_accept_leader()`. (With the correct check that also handles pre-candidate state). - Moved `raft_reset_transfer_leader()` into `raft_accept_leader()`. Leader transfer is completed when we accept a leader. So, it makes sense to move it into `raft_accept_leader()`. - Added some tests to verify node becomes follower even on a pre-candidate state when a request is received with same or higher term.
Please register or sign in to comment