I2P Address: [http://git.idk.i2p]

Skip to content
Snippets Groups Projects
Commit eb2acbc8 authored by zzz's avatar zzz
Browse files

Roadmap and prop. 150 updates

parent b08aafa9
No related branches found
No related tags found
No related merge requests found
...@@ -197,8 +197,6 @@ Continue work on testnet ...@@ -197,8 +197,6 @@ Continue work on testnet
</li><li> </li><li>
i2psnark UI performance i2psnark UI performance
</li><li> </li><li>
geti2p/i2p docker image available at our download page
</li><li>
libsam: example with ANC integration libsam: example with ANC integration
</li><li> </li><li>
libsam: use the best from the duplicated libraries making one improved one libsam: use the best from the duplicated libraries making one improved one
......
...@@ -3,7 +3,7 @@ Garlic Farm Protocol ...@@ -3,7 +3,7 @@ Garlic Farm Protocol
==================== ====================
.. meta:: .. meta::
:author: zzz :author: zzz
:created: 2019-05-03 :created: 2019-05-02
:thread: http://zzz.i2p/topics/2234 :thread: http://zzz.i2p/topics/2234
:lastupdated: 2019-05-03 :lastupdated: 2019-05-03
:status: Open :status: Open
...@@ -80,27 +80,27 @@ responses do not contain Log Entries, and are fixed-size. ...@@ -80,27 +80,27 @@ responses do not contain Log Entries, and are fixed-size.
======================== ====== =========== =========== ===================================== ======================== ====== =========== ================= =====================================
Message Number Sent By Sent To Notes Message Number Sent By Sent To Notes
======================== ====== =========== =========== ===================================== ======================== ====== =========== ================= =====================================
RequestVoteRequest 1 Candidate Follower Standard Raft RPC RequestVoteRequest 1 Candidate Follower Standard Raft RPC; must not contain log entries
RequestVoteResponse 2 Follower Candidate Standard Raft RPC RequestVoteResponse 2 Follower Candidate Standard Raft RPC
AppendEntriesRequest 3 Leader Follower Standard Raft RPC AppendEntriesRequest 3 Leader Follower Standard Raft RPC
AppendEntriesResponse 4 Follower Leader Standard Raft RPC AppendEntriesResponse 4 Follower Leader / Client Standard Raft RPC
ClientRequest 5 Follower Leader Response is AppendEntriesResponse ClientRequest 5 Client Leader / Follower Response is AppendEntriesResponse; must contain Application log entries only
AddServerRequest 6 new server Leader Must contain a single ClusterServer log entry only AddServerRequest 6 Client Leader Must contain a single ClusterServer log entry only
AddServerResponse 7 Leader new server AddServerResponse 7 Leader Client Leader will also send a JoinClusterRequest
RemoveServerRequest 8 Follower Leader Must contain a single ClusterServer log entry only RemoveServerRequest 8 Follower Leader Must contain a single ClusterServer log entry only
RemoveServerResponse 9 Leader Follower RemoveServerResponse 9 Leader Follower
SyncLogRequest 10 Leader Follower Must contain a single LogPack log entry only SyncLogRequest 10 Leader Follower Must contain a single LogPack log entry only
SyncLogResponse 11 Follower Leader SyncLogResponse 11 Follower Leader
JoinClusterRequest 12 Leader new server Invitation to join JoinClusterRequest 12 Leader New Server Invitation to join; must contain a single Configuration log entry only
JoinClusterResponse 13 new server Leader JoinClusterResponse 13 New Server Leader
LeaveClusterRequest 14 Leader Follower Command to leave LeaveClusterRequest 14 Leader Follower Command to leave
LeaveClusterResponse 15 Follower Leader LeaveClusterResponse 15 Follower Leader
InstallSnapshotRequest 16 Leader Follower Must contain a single SnapshotSyncRequest log entry only InstallSnapshotRequest 16 Leader Follower Must contain a single SnapshotSyncRequest log entry only
InstallSnapshotResponse 17 Follower Leader Raft Section 7 InstallSnapshotResponse 17 Follower Leader Raft Section 7
======================== ====== =========== =========== ===================================== ======================== ====== =========== ================= =====================================
Definitions Definitions
...@@ -133,6 +133,7 @@ All values are unsigned big-endian. ...@@ -133,6 +133,7 @@ All values are unsigned big-endian.
Message type: 1 byte Message type: 1 byte
Source: ID, 4 byte integer Source: ID, 4 byte integer
Destination: ID, 4 byte integer Destination: ID, 4 byte integer
Destination: Usually the actual destination ID (see notes), 4 byte integer
Term: Current term (or candidate term for RequestVoteRequest), 8 byte integer Term: Current term (or candidate term for RequestVoteRequest), 8 byte integer
Last Log Term: 8 byte integer Last Log Term: 8 byte integer
Last Log Index: 8 byte integer Last Log Index: 8 byte integer
...@@ -292,7 +293,7 @@ All values are unsigned big-endian. ...@@ -292,7 +293,7 @@ All values are unsigned big-endian.
Message type: 1 byte Message type: 1 byte
Source: ID, 4 byte integer Source: ID, 4 byte integer
Destination: ID, 4 byte integer Destination: Usually the actual destination ID (see notes), 4 byte integer
Term: Current term, 8 byte integer Term: Current term, 8 byte integer
Next Index: Initialized to leader last log index + 1, 8 byte integer Next Index: Initialized to leader last log index + 1, 8 byte integer
Is Accepted: 1 if accepted, 0 if not accepted (1 byte) Is Accepted: 1 if accepted, 0 if not accepted (1 byte)
...@@ -300,6 +301,14 @@ Message type: 1 byte ...@@ -300,6 +301,14 @@ Message type: 1 byte
{% endhighlight %} {% endhighlight %}
Notes
`````
The Destination ID is usually the actual destination for this message.
However, for AppendEntriesResponse, AddServerResponse, and RemoveServerResponse,
it is the ID of the current leader.
Justification Justification
============= =============
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment