-
- public void applyServerConfiguration(ServerConfigurationPayload serverConfig) {
- Set<String> currentPeers = new HashSet<>(context.getPeerIds());
- for(ServerInfo server: serverConfig.getServerConfig()) {
- if(!getId().equals(server.getId())) {
- VotingState votingState = server.isVoting() ? VotingState.VOTING: VotingState.NON_VOTING;
- if(!currentPeers.contains(server.getId())) {
- context.addToPeers(server.getId(), null, votingState);
- } else {
- context.getPeerInfo(server.getId()).setVotingState(votingState);
- currentPeers.remove(server.getId());
- }
- }
- }
-
- for(String peerIdToRemove: currentPeers) {
- context.removePeer(peerIdToRemove);
- }
- }