@Override public CompletableFuture<Boolean> removeServer(int serverId) { if(serverId < 0){ return CompletableFuture.completedFuture(false); } ByteBuffer buffer = ByteBuffer.allocate(Integer.BYTES); buffer.putInt(serverId); LogEntry[] logEntries = new LogEntry[1]; logEntries[0] = new LogEntry(0, buffer.array(), LogValueType.ClusterServer); RaftRequestMessage request = new RaftRequestMessage(); request.setMessageType(RaftMessageType.RemoveServerRequest); request.setLogEntries(logEntries); return this.sendMessageToLeader(request); }
public CompletableFuture<Boolean> removeServer(int serverId){ if(serverId < 0){ throw new IllegalArgumentException("serverId must be equal or greater than zero"); } ByteBuffer buffer = ByteBuffer.allocate(Integer.BYTES); buffer.putInt(serverId); LogEntry[] logEntries = new LogEntry[1]; logEntries[0] = new LogEntry(0, buffer.array(), LogValueType.ClusterServer); RaftRequestMessage request = new RaftRequestMessage(); request.setMessageType(RaftMessageType.RemoveServerRequest); request.setLogEntries(logEntries); CompletableFuture<Boolean> result = new CompletableFuture<Boolean>(); this.tryCurrentLeader(request, result, 0, 0); return result; }
@Override public CompletableFuture<Boolean> removeServer(int serverId) { if(serverId < 0){ return CompletableFuture.completedFuture(false); } ByteBuffer buffer = ByteBuffer.allocate(Integer.BYTES); buffer.putInt(serverId); LogEntry[] logEntries = new LogEntry[1]; logEntries[0] = new LogEntry(0, buffer.array(), LogValueType.ClusterServer); RaftRequestMessage request = new RaftRequestMessage(); request.setMessageType(RaftMessageType.RemoveServerRequest); request.setLogEntries(logEntries); return this.sendMessageToLeader(request); }
public CompletableFuture<Boolean> removeServer(int serverId){ if(serverId < 0){ throw new IllegalArgumentException("serverId must be equal or greater than zero"); } ByteBuffer buffer = ByteBuffer.allocate(Integer.BYTES); buffer.putInt(serverId); LogEntry[] logEntries = new LogEntry[1]; logEntries[0] = new LogEntry(0, buffer.array(), LogValueType.ClusterServer); RaftRequestMessage request = new RaftRequestMessage(); request.setMessageType(RaftMessageType.RemoveServerRequest); request.setLogEntries(logEntries); CompletableFuture<Boolean> result = new CompletableFuture<Boolean>(); this.tryCurrentLeader(request, result, 0, 0); return result; }
public CompletableFuture<Boolean> removeServer(int serverId){ if(serverId < 0){ throw new IllegalArgumentException("serverId must be equal or greater than zero"); } ByteBuffer buffer = ByteBuffer.allocate(Integer.BYTES); buffer.putInt(serverId); LogEntry[] logEntries = new LogEntry[1]; logEntries[0] = new LogEntry(0, buffer.array(), LogValueType.ClusterServer); RaftRequestMessage request = new RaftRequestMessage(); request.setMessageType(RaftMessageType.RemoveServerRequest); request.setLogEntries(logEntries); CompletableFuture<Boolean> result = new CompletableFuture<Boolean>(); this.tryCurrentLeader(request, result, 0, 0); return result; }
@Override public CompletableFuture<Boolean> removeServer(int serverId) { if(serverId < 0){ return CompletableFuture.completedFuture(false); } ByteBuffer buffer = ByteBuffer.allocate(Integer.BYTES); buffer.putInt(serverId); LogEntry[] logEntries = new LogEntry[1]; logEntries[0] = new LogEntry(0, buffer.array(), LogValueType.ClusterServer); RaftRequestMessage request = new RaftRequestMessage(); request.setMessageType(RaftMessageType.RemoveServerRequest); request.setLogEntries(logEntries); return this.sendMessageToLeader(request); }
public CompletableFuture<Boolean> appendEntries(byte[][] values){ if(values == null || values.length == 0){ throw new IllegalArgumentException("values cannot be null or empty"); } LogEntry[] logEntries = new LogEntry[values.length]; for(int i = 0; i < values.length; ++i){ logEntries[i] = new LogEntry(0, values[i]); } RaftRequestMessage request = new RaftRequestMessage(); request.setMessageType(RaftMessageType.ClientRequest); request.setLogEntries(logEntries); CompletableFuture<Boolean> result = new CompletableFuture<Boolean>(); this.tryCurrentLeader(request, result, 0, 0); return result; }
public CompletableFuture<Boolean> appendEntries(byte[][] values){ if(values == null || values.length == 0){ throw new IllegalArgumentException("values cannot be null or empty"); } LogEntry[] logEntries = new LogEntry[values.length]; for(int i = 0; i < values.length; ++i){ logEntries[i] = new LogEntry(0, values[i]); } RaftRequestMessage request = new RaftRequestMessage(); request.setMessageType(RaftMessageType.ClientRequest); request.setLogEntries(logEntries); CompletableFuture<Boolean> result = new CompletableFuture<Boolean>(); this.tryCurrentLeader(request, result, 0, 0); return result; }
public CompletableFuture<Boolean> addServer(ClusterServer server){ if(server == null){ throw new IllegalArgumentException("server cannot be null"); } LogEntry[] logEntries = new LogEntry[1]; logEntries[0] = new LogEntry(0, server.toBytes(), LogValueType.ClusterServer); RaftRequestMessage request = new RaftRequestMessage(); request.setMessageType(RaftMessageType.AddServerRequest); request.setLogEntries(logEntries); CompletableFuture<Boolean> result = new CompletableFuture<Boolean>(); this.tryCurrentLeader(request, result, 0, 0); return result; }
public CompletableFuture<Boolean> addServer(ClusterServer server){ if(server == null){ throw new IllegalArgumentException("server cannot be null"); } LogEntry[] logEntries = new LogEntry[1]; logEntries[0] = new LogEntry(0, server.toBytes(), LogValueType.ClusterServer); RaftRequestMessage request = new RaftRequestMessage(); request.setMessageType(RaftMessageType.AddServerRequest); request.setLogEntries(logEntries); CompletableFuture<Boolean> result = new CompletableFuture<Boolean>(); this.tryCurrentLeader(request, result, 0, 0); return result; }
public CompletableFuture<Boolean> addServer(ClusterServer server){ if(server == null){ throw new IllegalArgumentException("server cannot be null"); } LogEntry[] logEntries = new LogEntry[1]; logEntries[0] = new LogEntry(0, server.toBytes(), LogValueType.ClusterServer); RaftRequestMessage request = new RaftRequestMessage(); request.setMessageType(RaftMessageType.AddServerRequest); request.setLogEntries(logEntries); CompletableFuture<Boolean> result = new CompletableFuture<Boolean>(); this.tryCurrentLeader(request, result, 0, 0); return result; }
@Override public CompletableFuture<Boolean> appendEntries(byte[][] values) { if(values == null || values.length == 0){ return CompletableFuture.completedFuture(false); } LogEntry[] logEntries = new LogEntry[values.length]; for(int i = 0; i < values.length; ++i){ logEntries[i] = new LogEntry(0, values[i]); } RaftRequestMessage request = new RaftRequestMessage(); request.setMessageType(RaftMessageType.ClientRequest); request.setLogEntries(logEntries); return this.sendMessageToLeader(request); }
@Override public CompletableFuture<Boolean> appendEntries(byte[][] values) { if(values == null || values.length == 0){ return CompletableFuture.completedFuture(false); } LogEntry[] logEntries = new LogEntry[values.length]; for(int i = 0; i < values.length; ++i){ logEntries[i] = new LogEntry(0, values[i]); } RaftRequestMessage request = new RaftRequestMessage(); request.setMessageType(RaftMessageType.ClientRequest); request.setLogEntries(logEntries); return this.sendMessageToLeader(request); }
@Override public CompletableFuture<Boolean> appendEntries(byte[][] values) { if(values == null || values.length == 0){ return CompletableFuture.completedFuture(false); } LogEntry[] logEntries = new LogEntry[values.length]; for(int i = 0; i < values.length; ++i){ logEntries[i] = new LogEntry(0, values[i]); } RaftRequestMessage request = new RaftRequestMessage(); request.setMessageType(RaftMessageType.ClientRequest); request.setLogEntries(logEntries); return this.sendMessageToLeader(request); }
@Override public CompletableFuture<Boolean> addServer(ClusterServer server) { LogEntry[] logEntries = new LogEntry[1]; logEntries[0] = new LogEntry(0, server.toBytes(), LogValueType.ClusterServer); RaftRequestMessage request = new RaftRequestMessage(); request.setMessageType(RaftMessageType.AddServerRequest); request.setLogEntries(logEntries); return this.sendMessageToLeader(request); }
@Override public CompletableFuture<Boolean> addServer(ClusterServer server) { LogEntry[] logEntries = new LogEntry[1]; logEntries[0] = new LogEntry(0, server.toBytes(), LogValueType.ClusterServer); RaftRequestMessage request = new RaftRequestMessage(); request.setMessageType(RaftMessageType.AddServerRequest); request.setLogEntries(logEntries); return this.sendMessageToLeader(request); }
@Override public CompletableFuture<Boolean> addServer(ClusterServer server) { LogEntry[] logEntries = new LogEntry[1]; logEntries[0] = new LogEntry(0, server.toBytes(), LogValueType.ClusterServer); RaftRequestMessage request = new RaftRequestMessage(); request.setMessageType(RaftMessageType.AddServerRequest); request.setLogEntries(logEntries); return this.sendMessageToLeader(request); }
private void inviteServerToJoinCluster(){ RaftRequestMessage request = new RaftRequestMessage(); request.setCommitIndex(this.quickCommitIndex); request.setDestination(this.serverToJoin.getId()); request.setSource(this.id); request.setTerm(this.state.getTerm()); request.setMessageType(RaftMessageType.JoinClusterRequest); request.setLastLogIndex(this.logStore.getFirstAvailableIndex() - 1); request.setLogEntries(new LogEntry[] { new LogEntry(this.state.getTerm(), this.config.toBytes(), LogValueType.Configuration) }); this.serverToJoin.SendRequest(request).whenCompleteAsync((RaftResponseMessage response, Throwable error) -> { this.handleExtendedResponse(response, error); }, this.context.getScheduledExecutor()); }
private void inviteServerToJoinCluster(){ RaftRequestMessage request = new RaftRequestMessage(); request.setCommitIndex(this.quickCommitIndex); request.setDestination(this.serverToJoin.getId()); request.setSource(this.id); request.setTerm(this.state.getTerm()); request.setMessageType(RaftMessageType.JoinClusterRequest); request.setLastLogIndex(this.logStore.getFirstAvailableIndex() - 1); request.setLogEntries(new LogEntry[] { new LogEntry(this.state.getTerm(), this.config.toBytes(), LogValueType.Configuration) }); this.serverToJoin.SendRequest(request).whenCompleteAsync((RaftResponseMessage response, Throwable error) -> { this.handleExtendedResponse(response, error); }, this.context.getScheduledExecutor()); }
private void inviteServerToJoinCluster(){ RaftRequestMessage request = new RaftRequestMessage(); request.setCommitIndex(this.quickCommitIndex); request.setDestination(this.serverToJoin.getId()); request.setSource(this.id); request.setTerm(this.state.getTerm()); request.setMessageType(RaftMessageType.JoinClusterRequest); request.setLastLogIndex(this.logStore.getFirstAvailableIndex() - 1); request.setLogEntries(new LogEntry[] { new LogEntry(this.state.getTerm(), this.config.toBytes(), LogValueType.Configuration) }); this.serverToJoin.SendRequest(request).whenCompleteAsync((RaftResponseMessage response, Throwable error) -> { this.handleExtendedResponse(response, error); }, this.context.getScheduledExecutor()); }