|
1 | | -%% @format |
2 | 1 | %%% Copyright (c) Meta Platforms, Inc. and affiliates. All rights reserved. |
3 | 2 | %%% |
4 | 3 | %%% This source code is licensed under the Apache 2.0 license found in |
|
16 | 15 | %% This means that RPC formats should not be changed once created. |
17 | 16 | %%------------------------------------------------------------------- |
18 | 17 |
|
19 | | --define(RAFT_NAMED_RPC(Type, Term, SenderName, SenderNode, Payload), |
20 | | - {rpc, Type, Term, SenderName, SenderNode, Payload} |
21 | | -). |
| 18 | +-define(RAFT_NAMED_RPC(Type, Term, SenderName, SenderNode, Payload), {rpc, Type, Term, SenderName, SenderNode, Payload}). |
22 | 19 |
|
23 | 20 | %% These two RPCs are used by RAFT catchup to receive the status of |
24 | 21 | %% the RAFT server being sent to and should not change. |
25 | 22 | -define(LEGACY_RAFT_RPC(Type, Term, SenderId, Payload), {rpc, Type, Term, SenderId, Payload}). |
26 | 23 | -define(LEGACY_APPEND_ENTRIES_RESPONSE_RPC(Term, SenderId, PrevLogIndex, Success, LastIndex), |
27 | | - ?LEGACY_RAFT_RPC(append_entries_response, Term, SenderId, {PrevLogIndex, Success, LastIndex}) |
28 | | -). |
| 24 | + ?LEGACY_RAFT_RPC(append_entries_response, Term, SenderId, {PrevLogIndex, Success, LastIndex})). |
29 | 25 |
|
30 | 26 | %%------------------------------------------------------------------- |
31 | 27 | %% RAFT Server Procedures |
|
34 | 30 | %% procedures listed below. |
35 | 31 | %%------------------------------------------------------------------- |
36 | 32 |
|
37 | | --define(APPEND_ENTRIES, append_entries). |
| 33 | +-define(APPEND_ENTRIES, append_entries). |
38 | 34 | -define(APPEND_ENTRIES_RESPONSE, append_entries_response). |
39 | | --define(REQUEST_VOTE, request_vote). |
40 | | --define(VOTE, vote). |
41 | | --define(HANDOVER, handover). |
42 | | --define(HANDOVER_FAILED, handover_failed). |
43 | | --define(NOTIFY_TERM, notify_term). |
| 35 | +-define(REQUEST_VOTE, request_vote). |
| 36 | +-define(VOTE, vote). |
| 37 | +-define(HANDOVER, handover). |
| 38 | +-define(HANDOVER_FAILED, handover_failed). |
| 39 | +-define(NOTIFY_TERM, notify_term). |
44 | 40 |
|
45 | 41 | %% Definitions of each of the standard procedures. |
46 | 42 | -define(PROCEDURE(Type, Payload), {procedure, Type, Payload}). |
47 | | --define(APPEND_ENTRIES(PrevLogIndex, PrevLogTerm, Entries, CommitIndex, TrimIndex), |
48 | | - ?PROCEDURE(?APPEND_ENTRIES, {PrevLogIndex, PrevLogTerm, Entries, CommitIndex, TrimIndex}) |
49 | | -). |
50 | | --define(APPEND_ENTRIES_RESPONSE(PrevLogIndex, Success, MatchIndex, LastAppliedIndex), |
51 | | - ?PROCEDURE(?APPEND_ENTRIES_RESPONSE, {PrevLogIndex, Success, MatchIndex, LastAppliedIndex}) |
52 | | -). |
53 | | --define(REQUEST_VOTE(ElectionType, LastLogIndex, LastLogTerm), |
54 | | - ?PROCEDURE(?REQUEST_VOTE, {ElectionType, LastLogIndex, LastLogTerm}) |
55 | | -). |
56 | | --define(VOTE(Vote), ?PROCEDURE(?VOTE, {Vote})). |
57 | | --define(HANDOVER(Ref, PrevLogIndex, PrevLogTerm, Entries), |
58 | | - ?PROCEDURE(?HANDOVER, {Ref, PrevLogIndex, PrevLogTerm, Entries}) |
59 | | -). |
60 | | --define(HANDOVER_FAILED(Ref), ?PROCEDURE(?HANDOVER_FAILED, {Ref})). |
61 | | --define(NOTIFY_TERM(), ?PROCEDURE(?NOTIFY_TERM, {})). |
| 43 | +-define(APPEND_ENTRIES(PrevLogIndex, PrevLogTerm, Entries, CommitIndex, TrimIndex), ?PROCEDURE(?APPEND_ENTRIES, {PrevLogIndex, PrevLogTerm, Entries, CommitIndex, TrimIndex})). |
| 44 | +-define(APPEND_ENTRIES_RESPONSE(PrevLogIndex, Success, MatchIndex, LastAppliedIndex), ?PROCEDURE(?APPEND_ENTRIES_RESPONSE, {PrevLogIndex, Success, MatchIndex, LastAppliedIndex})). |
| 45 | +-define(REQUEST_VOTE(ElectionType, LastLogIndex, LastLogTerm), ?PROCEDURE(?REQUEST_VOTE, {ElectionType, LastLogIndex, LastLogTerm})). |
| 46 | +-define(VOTE(Vote), ?PROCEDURE(?VOTE, {Vote})). |
| 47 | +-define(HANDOVER(Ref, PrevLogIndex, PrevLogTerm, Entries), ?PROCEDURE(?HANDOVER, {Ref, PrevLogIndex, PrevLogTerm, Entries})). |
| 48 | +-define(HANDOVER_FAILED(Ref), ?PROCEDURE(?HANDOVER_FAILED, {Ref})). |
| 49 | +-define(NOTIFY_TERM(), ?PROCEDURE(?NOTIFY_TERM, {})). |
62 | 50 |
|
63 | 51 | %% A request to execute a particular procedure. This request could |
64 | 52 | %% have been issued locally or as a result of a remote procedure |
|
86 | 74 |
|
87 | 75 | -define(RAFT_COMMAND(Type, Payload), {command, Type, Payload}). |
88 | 76 |
|
89 | | --define(COMMIT_COMMAND(Op), ?RAFT_COMMAND(commit, Op)). |
90 | | --define(READ_COMMAND(Op), ?RAFT_COMMAND(read, Op)). |
| 77 | +-define(COMMIT_COMMAND(Op), ?RAFT_COMMAND(commit, Op)). |
| 78 | +-define(READ_COMMAND(Op), ?RAFT_COMMAND(read, Op)). |
91 | 79 |
|
92 | | --define(STATUS_COMMAND, ?RAFT_COMMAND(status, undefined)). |
93 | | --define(TRIGGER_ELECTION_COMMAND(TermOrOffset), ?RAFT_COMMAND(trigger_election, {TermOrOffset})). |
94 | | --define(PROMOTE_COMMAND(TermOrOffset, Force), ?RAFT_COMMAND(promote, {TermOrOffset, Force})). |
95 | | --define(RESIGN_COMMAND, ?RAFT_COMMAND(resign, undefined)). |
| 80 | +-define(STATUS_COMMAND, ?RAFT_COMMAND(status, undefined)). |
| 81 | +-define(TRIGGER_ELECTION_COMMAND(TermOrOffset), ?RAFT_COMMAND(trigger_election, {TermOrOffset})). |
| 82 | +-define(PROMOTE_COMMAND(TermOrOffset, Force), ?RAFT_COMMAND(promote, {TermOrOffset, Force})). |
| 83 | +-define(RESIGN_COMMAND, ?RAFT_COMMAND(resign, undefined)). |
96 | 84 |
|
97 | | --define(ADJUST_MEMBERSHIP_COMMAND(Action, Peer, ConfigIndex), |
98 | | - ?RAFT_COMMAND(adjust_membership, {Action, Peer, ConfigIndex}) |
99 | | -). |
| 85 | +-define(ADJUST_MEMBERSHIP_COMMAND(Action, Peer, ConfigIndex), ?RAFT_COMMAND(adjust_membership, {Action, Peer, ConfigIndex})). |
100 | 86 |
|
101 | | --define(SNAPSHOT_AVAILABLE_COMMAND(Root, Position), ?RAFT_COMMAND(snapshot_available, {Root, Position})). |
| 87 | +-define(SNAPSHOT_AVAILABLE_COMMAND(Root, Position), ?RAFT_COMMAND(snapshot_available, {Root, Position})). |
102 | 88 |
|
103 | | --define(HANDOVER_CANDIDATES_COMMAND, ?RAFT_COMMAND(handover_candidates, undefined)). |
104 | | --define(HANDOVER_COMMAND(Peer), ?RAFT_COMMAND(handover, Peer)). |
| 89 | +-define(HANDOVER_CANDIDATES_COMMAND, ?RAFT_COMMAND(handover_candidates, undefined)). |
| 90 | +-define(HANDOVER_COMMAND(Peer), ?RAFT_COMMAND(handover, Peer)). |
105 | 91 |
|
106 | | --define(ENABLE_COMMAND, ?RAFT_COMMAND(enable, undefined)). |
107 | | --define(DISABLE_COMMAND(Reason), ?RAFT_COMMAND(disable, Reason)). |
| 92 | +-define(ENABLE_COMMAND, ?RAFT_COMMAND(enable, undefined)). |
| 93 | +-define(DISABLE_COMMAND(Reason), ?RAFT_COMMAND(disable, Reason)). |
108 | 94 |
|
109 | | --define(BOOTSTRAP_COMMAND(Position, Config, Data), ?RAFT_COMMAND(bootstrap, {Position, Config, Data})). |
| 95 | +-define(BOOTSTRAP_COMMAND(Position, Config, Data), ?RAFT_COMMAND(bootstrap, {Position, Config, Data})). |
110 | 96 |
|
111 | | --define(NOTIFY_COMPLETE_COMMAND(), ?RAFT_COMMAND(notify_complete, undefined)). |
| 97 | +-define(NOTIFY_COMPLETE_COMMAND(), ?RAFT_COMMAND(notify_complete, undefined)). |
0 commit comments