Roadmap and prop. 150 updates

This commit is contained in:
zzz
2019-05-03 16:24:18 +00:00
parent b08aafa940
commit eb2acbc8ec
2 changed files with 29 additions and 22 deletions

View File

@@ -197,8 +197,6 @@ Continue work on testnet
</li><li>
i2psnark UI performance
</li><li>
geti2p/i2p docker image available at our download page
</li><li>
libsam: example with ANC integration
</li><li>
libsam: use the best from the duplicated libraries making one improved one

View File

@@ -3,7 +3,7 @@ Garlic Farm Protocol
====================
.. meta::
:author: zzz
:created: 2019-05-03
:created: 2019-05-02
:thread: http://zzz.i2p/topics/2234
:lastupdated: 2019-05-03
:status: Open
@@ -80,27 +80,27 @@ responses do not contain Log Entries, and are fixed-size.
======================== ====== =========== =========== =====================================
======================== ====== =========== ================= =====================================
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
AppendEntriesRequest 3 Leader Follower Standard Raft RPC
AppendEntriesResponse 4 Follower Leader Standard Raft RPC
ClientRequest 5 Follower Leader Response is AppendEntriesResponse
AddServerRequest 6 new server Leader Must contain a single ClusterServer log entry only
AddServerResponse 7 Leader new server
AppendEntriesResponse 4 Follower Leader / Client Standard Raft RPC
ClientRequest 5 Client Leader / Follower Response is AppendEntriesResponse; must contain Application log entries only
AddServerRequest 6 Client Leader Must contain a single ClusterServer log entry only
AddServerResponse 7 Leader Client Leader will also send a JoinClusterRequest
RemoveServerRequest 8 Follower Leader Must contain a single ClusterServer log entry only
RemoveServerResponse 9 Leader Follower
SyncLogRequest 10 Leader Follower Must contain a single LogPack log entry only
SyncLogResponse 11 Follower Leader
JoinClusterRequest 12 Leader new server Invitation to join
JoinClusterResponse 13 new server Leader
JoinClusterRequest 12 Leader New Server Invitation to join; must contain a single Configuration log entry only
JoinClusterResponse 13 New Server Leader
LeaveClusterRequest 14 Leader Follower Command to leave
LeaveClusterResponse 15 Follower Leader
InstallSnapshotRequest 16 Leader Follower Must contain a single SnapshotSyncRequest log entry only
InstallSnapshotResponse 17 Follower Leader Raft Section 7
======================== ====== =========== =========== =====================================
======================== ====== =========== ================= =====================================
Definitions
@@ -133,6 +133,7 @@ All values are unsigned big-endian.
Message type: 1 byte
Source: 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
Last Log Term: 8 byte integer
Last Log Index: 8 byte integer
@@ -292,7 +293,7 @@ All values are unsigned big-endian.
Message type: 1 byte
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
Next Index: Initialized to leader last log index + 1, 8 byte integer
Is Accepted: 1 if accepted, 0 if not accepted (1 byte)
@@ -300,6 +301,14 @@ Message type: 1 byte
{% 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
=============