This is an automated email from the ASF dual-hosted git repository. ascherbakov pushed a commit to branch ignite-13885 in repository https://gitbox.apache.org/repos/asf/ignite-3.git
commit ea1867f912318459638d777a2a4975e10f0adc1c Author: Alexey Scherbakov <alexey.scherbak...@gmail.com> AuthorDate: Fri Jan 22 15:53:48 2021 +0300 IGNITE-13885 Added CLI RPC. --- .../com/alipay/sofa/jraft/rpc/CliRequests.java | 4 -- .../rpc/impl/cli/GetPeersRequestProcessor.java | 2 +- .../jraft/rpc/message/AddLearnersRequestImpl.java | 53 +++++++++++++++++ .../jraft/rpc/message/AddPeerResponseImpl.java | 55 ++++++++++++++++++ .../jraft/rpc/message/ChangePeerRequestImpl.java | 53 +++++++++++++++++ .../jraft/rpc/message/ChangePeersResponseImpl.java | 55 ++++++++++++++++++ .../rpc/message/DefaultMessageBuilderFactory.java | 28 ++++----- .../jraft/rpc/message/GetPeersRequestImpl.java | 43 ++++++++++++++ .../jraft/rpc/message/GetPeersResponseImpl.java | 55 ++++++++++++++++++ .../jraft/rpc/message/LearnersOpResponseImpl.java | 55 ++++++++++++++++++ .../rpc/message/RemoveLearnersRequestImpl.java | 53 +++++++++++++++++ .../jraft/rpc/message/RemovePeerRequestImpl.java | 43 ++++++++++++++ .../jraft/rpc/message/RemovePeerResponseImpl.java | 55 ++++++++++++++++++ .../rpc/message/ResetLearnersRequestImpl.java | 53 +++++++++++++++++ .../jraft/rpc/message/ResetPeerRequestImpl.java | 66 ++++++++++++++++++++++ .../jraft/rpc/message/SnapshotRequestImpl.java | 32 +++++++++++ .../rpc/message/TransferLeaderRequestImpl.java | 47 +++++++++++++++ 17 files changed, 733 insertions(+), 19 deletions(-) diff --git a/modules/raft/src/main/java/com/alipay/sofa/jraft/rpc/CliRequests.java b/modules/raft/src/main/java/com/alipay/sofa/jraft/rpc/CliRequests.java index c95579f..ea07e4f 100644 --- a/modules/raft/src/main/java/com/alipay/sofa/jraft/rpc/CliRequests.java +++ b/modules/raft/src/main/java/com/alipay/sofa/jraft/rpc/CliRequests.java @@ -63,8 +63,6 @@ public final class CliRequests { java.lang.String getNewPeers(int index); - RpcRequests.ErrorResponse getErrorResponse(); - public interface Builder { Builder addOldPeers(String oldPeersId); @@ -308,8 +306,6 @@ public final class CliRequests { boolean getOnlyAlive(); - boolean hasOnlyAlive(); - public interface Builder { Builder setGroupId(String groupId); diff --git a/modules/raft/src/main/java/com/alipay/sofa/jraft/rpc/impl/cli/GetPeersRequestProcessor.java b/modules/raft/src/main/java/com/alipay/sofa/jraft/rpc/impl/cli/GetPeersRequestProcessor.java index bccf7f0..7a88e70 100644 --- a/modules/raft/src/main/java/com/alipay/sofa/jraft/rpc/impl/cli/GetPeersRequestProcessor.java +++ b/modules/raft/src/main/java/com/alipay/sofa/jraft/rpc/impl/cli/GetPeersRequestProcessor.java @@ -51,7 +51,7 @@ public class GetPeersRequestProcessor extends BaseCliRequestProcessor<GetPeersRe final RpcRequestClosure done) { final List<PeerId> peers; final List<PeerId> learners; - if (request.hasOnlyAlive() && request.getOnlyAlive()) { + if (request.getOnlyAlive()) { peers = ctx.node.listAlivePeers(); learners = ctx.node.listAliveLearners(); } else { diff --git a/modules/raft/src/main/java/com/alipay/sofa/jraft/rpc/message/AddLearnersRequestImpl.java b/modules/raft/src/main/java/com/alipay/sofa/jraft/rpc/message/AddLearnersRequestImpl.java new file mode 100644 index 0000000..acb1413 --- /dev/null +++ b/modules/raft/src/main/java/com/alipay/sofa/jraft/rpc/message/AddLearnersRequestImpl.java @@ -0,0 +1,53 @@ +package com.alipay.sofa.jraft.rpc.message; + +import com.alipay.sofa.jraft.rpc.CliRequests; +import java.util.ArrayList; +import java.util.List; + +public class AddLearnersRequestImpl implements CliRequests.AddLearnersRequest, CliRequests.AddLearnersRequest.Builder { + private String groupId; + private String leaderId; + private List<String> learnersList = new ArrayList<>(); + + @Override public String getGroupId() { + return groupId; + } + + @Override public String getLeaderId() { + return leaderId; + } + + @Override public List<String> getLearnersList() { + return learnersList; + } + + @Override public int getLearnersCount() { + return learnersList.size(); + } + + @Override public String getLearners(int index) { + return learnersList.get(index); + } + + @Override public Builder setGroupId(String groupId) { + this.groupId = groupId; + + return this; + } + + @Override public Builder setLeaderId(String leaderId) { + this.leaderId = leaderId; + + return this; + } + + @Override public Builder addLearners(String learnerId) { + learnersList.add(learnerId); + + return this; + } + + @Override public CliRequests.AddLearnersRequest build() { + return this; + } +} diff --git a/modules/raft/src/main/java/com/alipay/sofa/jraft/rpc/message/AddPeerResponseImpl.java b/modules/raft/src/main/java/com/alipay/sofa/jraft/rpc/message/AddPeerResponseImpl.java new file mode 100644 index 0000000..578e7ab --- /dev/null +++ b/modules/raft/src/main/java/com/alipay/sofa/jraft/rpc/message/AddPeerResponseImpl.java @@ -0,0 +1,55 @@ +package com.alipay.sofa.jraft.rpc.message; + +import com.alipay.sofa.jraft.rpc.CliRequests; +import com.alipay.sofa.jraft.rpc.RpcRequests; +import java.util.ArrayList; +import java.util.List; + +public class AddPeerResponseImpl implements CliRequests.AddPeerResponse, CliRequests.AddPeerResponse.Builder { + private List<String> oldPeersList = new ArrayList<>(); + private List<String> newPeersList = new ArrayList<>(); + + @Override public List<String> getOldPeersList() { + return oldPeersList; + } + + @Override public int getOldPeersCount() { + return oldPeersList.size(); + } + + @Override public String getOldPeers(int index) { + return oldPeersList.get(index); + } + + @Override public List<String> getNewPeersList() { + return newPeersList; + } + + @Override public int getNewPeersCount() { + return newPeersList.size(); + } + + @Override public String getNewPeers(int index) { + return newPeersList.get(index); + } + + @Override public RpcRequests.ErrorResponse getErrorResponse() { + return null; + } + + @Override public Builder addOldPeers(String oldPeersId) { + oldPeersList.add(oldPeersId); + + return this; + } + + @Override public Builder addNewPeers(String newPeersId) { + newPeersList.add(newPeersId); + + return this; + } + + @Override public CliRequests.AddPeerResponse build() { + return this; + } +} diff --git a/modules/raft/src/main/java/com/alipay/sofa/jraft/rpc/message/ChangePeerRequestImpl.java b/modules/raft/src/main/java/com/alipay/sofa/jraft/rpc/message/ChangePeerRequestImpl.java new file mode 100644 index 0000000..3381a36 --- /dev/null +++ b/modules/raft/src/main/java/com/alipay/sofa/jraft/rpc/message/ChangePeerRequestImpl.java @@ -0,0 +1,53 @@ +package com.alipay.sofa.jraft.rpc.message; + +import com.alipay.sofa.jraft.rpc.CliRequests; +import java.util.ArrayList; +import java.util.List; + +public class ChangePeerRequestImpl implements CliRequests.ChangePeersRequest, CliRequests.ChangePeersRequest.Builder { + private String groupId; + private String leaderId; + private List<String> newPeersList = new ArrayList<>(); + + @Override public String getGroupId() { + return groupId; + } + + @Override public String getLeaderId() { + return leaderId; + } + + @Override public List<String> getNewPeersList() { + return newPeersList; + } + + @Override public int getNewPeersCount() { + return newPeersList.size(); + } + + @Override public String getNewPeers(int index) { + return newPeersList.get(index); + } + + @Override public Builder setGroupId(String groupId) { + this.groupId = groupId; + + return this; + } + + @Override public Builder setLeaderId(String leaderId) { + this.leaderId = leaderId; + + return this; + } + + @Override public Builder addNewPeers(String peerId) { + newPeersList.add(peerId); + + return this; + } + + @Override public CliRequests.ChangePeersRequest build() { + return this; + } +} diff --git a/modules/raft/src/main/java/com/alipay/sofa/jraft/rpc/message/ChangePeersResponseImpl.java b/modules/raft/src/main/java/com/alipay/sofa/jraft/rpc/message/ChangePeersResponseImpl.java new file mode 100644 index 0000000..6aaf0e7 --- /dev/null +++ b/modules/raft/src/main/java/com/alipay/sofa/jraft/rpc/message/ChangePeersResponseImpl.java @@ -0,0 +1,55 @@ +package com.alipay.sofa.jraft.rpc.message; + +import com.alipay.sofa.jraft.rpc.CliRequests; +import com.alipay.sofa.jraft.rpc.RpcRequests; +import java.util.ArrayList; +import java.util.List; + +public class ChangePeersResponseImpl implements CliRequests.ChangePeersResponse, CliRequests.ChangePeersResponse.Builder { + private List<String> oldPeersList = new ArrayList<>(); + private List<String> newPeersList = new ArrayList<>(); + + @Override public List<String> getOldPeersList() { + return oldPeersList; + } + + @Override public int getOldPeersCount() { + return oldPeersList.size(); + } + + @Override public String getOldPeers(int index) { + return oldPeersList.get(index); + } + + @Override public List<String> getNewPeersList() { + return newPeersList; + } + + @Override public int getNewPeersCount() { + return newPeersList.size(); + } + + @Override public String getNewPeers(int index) { + return newPeersList.get(index); + } + + @Override public RpcRequests.ErrorResponse getErrorResponse() { + return null; + } + + @Override public Builder addOldPeers(String oldPeerId) { + oldPeersList.add(oldPeerId); + + return this; + } + + @Override public Builder addNewPeers(String newPeerId) { + newPeersList.add(newPeerId); + + return this; + } + + @Override public CliRequests.ChangePeersResponse build() { + return this; + } +} diff --git a/modules/raft/src/main/java/com/alipay/sofa/jraft/rpc/message/DefaultMessageBuilderFactory.java b/modules/raft/src/main/java/com/alipay/sofa/jraft/rpc/message/DefaultMessageBuilderFactory.java index d92ff6f..466a1ce 100644 --- a/modules/raft/src/main/java/com/alipay/sofa/jraft/rpc/message/DefaultMessageBuilderFactory.java +++ b/modules/raft/src/main/java/com/alipay/sofa/jraft/rpc/message/DefaultMessageBuilderFactory.java @@ -93,35 +93,35 @@ public class DefaultMessageBuilderFactory implements MessageBuilderFactory { } @Override public CliRequests.AddPeerResponse.Builder createAddPeerResponse() { - return null; + return new AddPeerResponseImpl(); } @Override public CliRequests.RemovePeerRequest.Builder createRemovePeerRequest() { - return null; + return new RemovePeerRequestImpl(); } @Override public CliRequests.RemovePeerResponse.Builder createRemovePeerResponse() { - return null; + return new RemovePeerResponseImpl(); } @Override public CliRequests.ChangePeersRequest.Builder createChangePeerRequest() { - return null; + return new ChangePeerRequestImpl(); } @Override public CliRequests.ChangePeersResponse.Builder createChangePeerResponse() { - return null; + return new ChangePeersResponseImpl(); } @Override public CliRequests.SnapshotRequest.Builder createSnapshotRequest() { - return null; + return new SnapshotRequestImpl(); } @Override public CliRequests.ResetPeerRequest.Builder createResetPeerRequest() { - return null; + return new ResetPeerRequestImpl(); } @Override public CliRequests.TransferLeaderRequest.Builder createTransferLeaderRequest() { - return null; + return new TransferLeaderRequestImpl(); } @Override public CliRequests.GetLeaderRequest.Builder createGetLeaderRequest() { @@ -133,26 +133,26 @@ public class DefaultMessageBuilderFactory implements MessageBuilderFactory { } @Override public CliRequests.GetPeersRequest.Builder createGetPeersRequest() { - return null; + return new GetPeersRequestImpl(); } @Override public CliRequests.GetPeersResponse.Builder createGetPeersResponse() { - return null; + return new GetPeersResponseImpl(); } @Override public CliRequests.AddLearnersRequest.Builder createAddLearnersRequest() { - return null; + return new AddLearnersRequestImpl(); } @Override public CliRequests.RemoveLearnersRequest.Builder createRemoveLearnersRequest() { - return null; + return new RemoveLearnersRequestImpl(); } @Override public CliRequests.ResetLearnersRequest.Builder createResetLearnersRequest() { - return null; + return new ResetLearnersRequestImpl(); } @Override public CliRequests.LearnersOpResponse.Builder createLearnersOpResponse() { - return null; + return new LearnersOpResponseImpl(); } } diff --git a/modules/raft/src/main/java/com/alipay/sofa/jraft/rpc/message/GetPeersRequestImpl.java b/modules/raft/src/main/java/com/alipay/sofa/jraft/rpc/message/GetPeersRequestImpl.java new file mode 100644 index 0000000..f6dc17e --- /dev/null +++ b/modules/raft/src/main/java/com/alipay/sofa/jraft/rpc/message/GetPeersRequestImpl.java @@ -0,0 +1,43 @@ +package com.alipay.sofa.jraft.rpc.message; + +import com.alipay.sofa.jraft.rpc.CliRequests; + +public class GetPeersRequestImpl implements CliRequests.GetPeersRequest, CliRequests.GetPeersRequest.Builder { + private String groupId; + private String leaderId; + private boolean onlyAlive; + + @Override public String getGroupId() { + return groupId; + } + + @Override public String getLeaderId() { + return leaderId; + } + + @Override public boolean getOnlyAlive() { + return onlyAlive; + } + + @Override public Builder setGroupId(String groupId) { + this.groupId = groupId; + + return this; + } + + @Override public Builder setLeaderId(String leaderId) { + this.leaderId = leaderId; + + return this; + } + + @Override public Builder setOnlyAlive(boolean onlyGetAlive) { + this.onlyAlive = onlyGetAlive; + + return this; + } + + @Override public CliRequests.GetPeersRequest build() { + return this; + } +} diff --git a/modules/raft/src/main/java/com/alipay/sofa/jraft/rpc/message/GetPeersResponseImpl.java b/modules/raft/src/main/java/com/alipay/sofa/jraft/rpc/message/GetPeersResponseImpl.java new file mode 100644 index 0000000..00b9b73 --- /dev/null +++ b/modules/raft/src/main/java/com/alipay/sofa/jraft/rpc/message/GetPeersResponseImpl.java @@ -0,0 +1,55 @@ +package com.alipay.sofa.jraft.rpc.message; + +import com.alipay.sofa.jraft.rpc.CliRequests; +import com.alipay.sofa.jraft.rpc.RpcRequests; +import java.util.ArrayList; +import java.util.List; + +public class GetPeersResponseImpl implements CliRequests.GetPeersResponse, CliRequests.GetPeersResponse.Builder { + private List<String> peersList = new ArrayList<>(); + private List<String> learnersList = new ArrayList<>(); + + @Override public List<String> getPeersList() { + return peersList; + } + + @Override public int getPeersCount() { + return peersList.size(); + } + + @Override public String getPeers(int index) { + return peersList.get(index); + } + + @Override public List<String> getLearnersList() { + return learnersList; + } + + @Override public int getLearnersCount() { + return learnersList.size(); + } + + @Override public String getLearners(int index) { + return learnersList.get(index); + } + + @Override public RpcRequests.ErrorResponse getErrorResponse() { + return null; + } + + @Override public Builder addPeers(String peerId) { + peersList.add(peerId); + + return this; + } + + @Override public Builder addLearners(String learnerId) { + learnersList.add(learnerId); + + return this; + } + + @Override public CliRequests.GetPeersResponse build() { + return this; + } +} diff --git a/modules/raft/src/main/java/com/alipay/sofa/jraft/rpc/message/LearnersOpResponseImpl.java b/modules/raft/src/main/java/com/alipay/sofa/jraft/rpc/message/LearnersOpResponseImpl.java new file mode 100644 index 0000000..f7a14ca --- /dev/null +++ b/modules/raft/src/main/java/com/alipay/sofa/jraft/rpc/message/LearnersOpResponseImpl.java @@ -0,0 +1,55 @@ +package com.alipay.sofa.jraft.rpc.message; + +import com.alipay.sofa.jraft.rpc.CliRequests; +import com.alipay.sofa.jraft.rpc.RpcRequests; +import java.util.ArrayList; +import java.util.List; + +public class LearnersOpResponseImpl implements CliRequests.LearnersOpResponse, CliRequests.LearnersOpResponse.Builder { + private List<String> oldLearnersList = new ArrayList<>(); + private List<String> newLearnersList = new ArrayList<>(); + + @Override public List<String> getOldLearnersList() { + return oldLearnersList; + } + + @Override public int getOldLearnersCount() { + return oldLearnersList.size(); + } + + @Override public String getOldLearners(int index) { + return oldLearnersList.get(index); + } + + @Override public List<String> getNewLearnersList() { + return newLearnersList; + } + + @Override public int getNewLearnersCount() { + return newLearnersList.size(); + } + + @Override public String getNewLearners(int index) { + return newLearnersList.get(index); + } + + @Override public RpcRequests.ErrorResponse getErrorResponse() { + return null; + } + + @Override public Builder addOldLearners(String oldLearnersId) { + oldLearnersList.add(oldLearnersId); + + return this; + } + + @Override public Builder addNewLearners(String newLearnersId) { + newLearnersList.add(newLearnersId); + + return this; + } + + @Override public CliRequests.LearnersOpResponse build() { + return this; + } +} diff --git a/modules/raft/src/main/java/com/alipay/sofa/jraft/rpc/message/RemoveLearnersRequestImpl.java b/modules/raft/src/main/java/com/alipay/sofa/jraft/rpc/message/RemoveLearnersRequestImpl.java new file mode 100644 index 0000000..5b2224e --- /dev/null +++ b/modules/raft/src/main/java/com/alipay/sofa/jraft/rpc/message/RemoveLearnersRequestImpl.java @@ -0,0 +1,53 @@ +package com.alipay.sofa.jraft.rpc.message; + +import com.alipay.sofa.jraft.rpc.CliRequests; +import java.util.ArrayList; +import java.util.List; + +public class RemoveLearnersRequestImpl implements CliRequests.RemoveLearnersRequest, CliRequests.RemoveLearnersRequest.Builder { + private String groupId; + private String leaderId; + private List<String> learnersList = new ArrayList<>(); + + @Override public String getGroupId() { + return groupId; + } + + @Override public String getLeaderId() { + return leaderId; + } + + @Override public List<String> getLearnersList() { + return learnersList; + } + + @Override public int getLearnersCount() { + return learnersList.size(); + } + + @Override public String getLearners(int index) { + return learnersList.get(index); + } + + @Override public Builder setGroupId(String groupId) { + this.groupId = groupId; + + return this; + } + + @Override public Builder setLeaderId(String leaderId) { + this.leaderId = leaderId; + + return this; + } + + @Override public Builder addLearners(String learnerId) { + learnersList.add(learnerId); + + return this; + } + + @Override public CliRequests.RemoveLearnersRequest build() { + return this; + } +} diff --git a/modules/raft/src/main/java/com/alipay/sofa/jraft/rpc/message/RemovePeerRequestImpl.java b/modules/raft/src/main/java/com/alipay/sofa/jraft/rpc/message/RemovePeerRequestImpl.java new file mode 100644 index 0000000..ae1b340 --- /dev/null +++ b/modules/raft/src/main/java/com/alipay/sofa/jraft/rpc/message/RemovePeerRequestImpl.java @@ -0,0 +1,43 @@ +package com.alipay.sofa.jraft.rpc.message; + +import com.alipay.sofa.jraft.rpc.CliRequests; + +public class RemovePeerRequestImpl implements CliRequests.RemovePeerRequest, CliRequests.RemovePeerRequest.Builder { + private String groupId; + private String leaderId; + private String peerId; + + @Override public String getGroupId() { + return groupId; + } + + @Override public String getLeaderId() { + return leaderId; + } + + @Override public String getPeerId() { + return peerId; + } + + @Override public Builder setGroupId(String groupId) { + this.groupId = groupId; + + return this; + } + + @Override public Builder setLeaderId(String leaderId) { + this.leaderId = leaderId; + + return this; + } + + @Override public Builder setPeerId(String peerId) { + this.peerId = peerId; + + return this; + } + + @Override public CliRequests.RemovePeerRequest build() { + return this; + } +} diff --git a/modules/raft/src/main/java/com/alipay/sofa/jraft/rpc/message/RemovePeerResponseImpl.java b/modules/raft/src/main/java/com/alipay/sofa/jraft/rpc/message/RemovePeerResponseImpl.java new file mode 100644 index 0000000..76a5e11 --- /dev/null +++ b/modules/raft/src/main/java/com/alipay/sofa/jraft/rpc/message/RemovePeerResponseImpl.java @@ -0,0 +1,55 @@ +package com.alipay.sofa.jraft.rpc.message; + +import com.alipay.sofa.jraft.rpc.CliRequests; +import com.alipay.sofa.jraft.rpc.RpcRequests; +import java.util.ArrayList; +import java.util.List; + +public class RemovePeerResponseImpl implements CliRequests.RemovePeerResponse, CliRequests.RemovePeerResponse.Builder { + private List<String> oldPeersList = new ArrayList<>(); + private List<String> newPeersList = new ArrayList<>(); + + @Override public List<String> getOldPeersList() { + return oldPeersList; + } + + @Override public int getOldPeersCount() { + return oldPeersList.size(); + } + + @Override public String getOldPeers(int index) { + return oldPeersList.get(index); + } + + @Override public List<String> getNewPeersList() { + return newPeersList; + } + + @Override public int getNewPeersCount() { + return newPeersList.size(); + } + + @Override public String getNewPeers(int index) { + return newPeersList.get(index); + } + + @Override public RpcRequests.ErrorResponse getErrorResponse() { + return null; + } + + @Override public Builder addOldPeers(String oldPeerId) { + oldPeersList.add(oldPeerId); + + return this; + } + + @Override public Builder addNewPeers(String newPeerId) { + newPeersList.add(newPeerId); + + return this; + } + + @Override public CliRequests.RemovePeerResponse build() { + return this; + } +} diff --git a/modules/raft/src/main/java/com/alipay/sofa/jraft/rpc/message/ResetLearnersRequestImpl.java b/modules/raft/src/main/java/com/alipay/sofa/jraft/rpc/message/ResetLearnersRequestImpl.java new file mode 100644 index 0000000..7bb9fbe --- /dev/null +++ b/modules/raft/src/main/java/com/alipay/sofa/jraft/rpc/message/ResetLearnersRequestImpl.java @@ -0,0 +1,53 @@ +package com.alipay.sofa.jraft.rpc.message; + +import com.alipay.sofa.jraft.rpc.CliRequests; +import java.util.ArrayList; +import java.util.List; + +public class ResetLearnersRequestImpl implements CliRequests.ResetLearnersRequest, CliRequests.ResetLearnersRequest.Builder { + private String groupId; + private String leaderId; + private List<String> learnersList = new ArrayList<>(); + + @Override public String getGroupId() { + return groupId; + } + + @Override public String getLeaderId() { + return leaderId; + } + + @Override public List<String> getLearnersList() { + return learnersList; + } + + @Override public int getLearnersCount() { + return learnersList.size(); + } + + @Override public String getLearners(int index) { + return learnersList.get(index); + } + + @Override public Builder setGroupId(String groupId) { + this.groupId = groupId; + + return this; + } + + @Override public Builder setLeaderId(String leaderId) { + this.leaderId = leaderId; + + return this; + } + + @Override public Builder addLearners(String learnerId) { + learnersList.add(learnerId); + + return this; + } + + @Override public CliRequests.ResetLearnersRequest build() { + return this; + } +} diff --git a/modules/raft/src/main/java/com/alipay/sofa/jraft/rpc/message/ResetPeerRequestImpl.java b/modules/raft/src/main/java/com/alipay/sofa/jraft/rpc/message/ResetPeerRequestImpl.java new file mode 100644 index 0000000..28c6c84 --- /dev/null +++ b/modules/raft/src/main/java/com/alipay/sofa/jraft/rpc/message/ResetPeerRequestImpl.java @@ -0,0 +1,66 @@ +package com.alipay.sofa.jraft.rpc.message; + +import com.alipay.sofa.jraft.rpc.CliRequests; +import java.util.ArrayList; +import java.util.List; + +public class ResetPeerRequestImpl implements CliRequests.ResetPeerRequest, CliRequests.ResetPeerRequest.Builder { + private String groupId; + private String peerId; + private List<String> oldPeersList = new ArrayList<>(); + private List<String> newPeersList = new ArrayList<>(); + + @Override public String getGroupId() { + return groupId; + } + + @Override public String getPeerId() { + return peerId; + } + + @Override public List<String> getOldPeersList() { + return oldPeersList; + } + + @Override public int getOldPeersCount() { + return oldPeersList.size(); + } + + @Override public String getOldPeers(int index) { + return oldPeersList.get(index); + } + + @Override public List<String> getNewPeersList() { + return newPeersList; + } + + @Override public int getNewPeersCount() { + return newPeersList.size(); + } + + @Override public String getNewPeers(int index) { + return newPeersList.get(index); + } + + @Override public Builder setGroupId(String groupId) { + this.groupId = groupId; + + return this; + } + + @Override public Builder setPeerId(String peerId) { + this.peerId = peerId; + + return this; + } + + @Override public Builder addNewPeers(String peerId) { + newPeersList.add(peerId); + + return this; + } + + @Override public CliRequests.ResetPeerRequest build() { + return this; + } +} diff --git a/modules/raft/src/main/java/com/alipay/sofa/jraft/rpc/message/SnapshotRequestImpl.java b/modules/raft/src/main/java/com/alipay/sofa/jraft/rpc/message/SnapshotRequestImpl.java new file mode 100644 index 0000000..6d79ac3 --- /dev/null +++ b/modules/raft/src/main/java/com/alipay/sofa/jraft/rpc/message/SnapshotRequestImpl.java @@ -0,0 +1,32 @@ +package com.alipay.sofa.jraft.rpc.message; + +import com.alipay.sofa.jraft.rpc.CliRequests; + +public class SnapshotRequestImpl implements CliRequests.SnapshotRequest, CliRequests.SnapshotRequest.Builder { + private String groupId; + private String peerId; + + @Override public String getGroupId() { + return groupId; + } + + @Override public String getPeerId() { + return peerId; + } + + @Override public Builder setGroupId(String groupId) { + this.groupId = groupId; + + return this; + } + + @Override public Builder setPeerId(String peerId) { + this.peerId = peerId; + + return this; + } + + @Override public CliRequests.SnapshotRequest build() { + return this; + } +} diff --git a/modules/raft/src/main/java/com/alipay/sofa/jraft/rpc/message/TransferLeaderRequestImpl.java b/modules/raft/src/main/java/com/alipay/sofa/jraft/rpc/message/TransferLeaderRequestImpl.java new file mode 100644 index 0000000..c33442b --- /dev/null +++ b/modules/raft/src/main/java/com/alipay/sofa/jraft/rpc/message/TransferLeaderRequestImpl.java @@ -0,0 +1,47 @@ +package com.alipay.sofa.jraft.rpc.message; + +import com.alipay.sofa.jraft.rpc.CliRequests; + +public class TransferLeaderRequestImpl implements CliRequests.TransferLeaderRequest, CliRequests.TransferLeaderRequest.Builder { + private String groupId; + private String leaderId; + private String peerId; + + @Override public String getGroupId() { + return groupId; + } + + @Override public String getLeaderId() { + return leaderId; + } + + @Override public String getPeerId() { + return peerId; + } + + @Override public boolean hasPeerId() { + return peerId != null; + } + + @Override public Builder setGroupId(String groupId) { + this.groupId = groupId; + + return this; + } + + @Override public Builder setLeaderId(String leaderId) { + this.leaderId = leaderId; + + return this; + } + + @Override public Builder setPeerId(String peerId) { + this.peerId = peerId; + + return this; + } + + @Override public CliRequests.TransferLeaderRequest build() { + return this; + } +}