import com.google.common.collect.Lists;
import java.io.Serializable;
import java.util.Collection;
-import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.concurrent.TimeUnit;
@Override
public void handleCommand(final Object message) {
- if (message instanceof ApplyState){
+ if(serverConfigurationSupport.handleMessage(message, this, getSender())) {
+ return;
+ } else if (message instanceof ApplyState){
ApplyState applyState = (ApplyState) message;
- boolean result = serverConfigurationSupport.handleMessage(message, this, getSender());
- if(result){
- return;
- }
-
long elapsedTime = (System.nanoTime() - applyState.getStartTime());
if(elapsedTime >= APPLY_STATE_DELAY_THRESHOLD_IN_NANOS){
LOG.warn("ApplyState took more time than expected. Elapsed Time = {} ms ApplyState = {}",
captureSnapshot();
} else if(message instanceof SwitchBehavior){
switchBehavior(((SwitchBehavior) message));
- } else if(!snapshotSupport.handleSnapshotMessage(message) &&
- !serverConfigurationSupport.handleMessage(message, this, getSender())) {
+ } else if(!snapshotSupport.handleSnapshotMessage(message)) {
switchBehavior(reusableSwitchBehaviorSupplier.handleMessage(getSender(), message));
}
}
.snapshotIndex(replicatedLog().getSnapshotIndex())
.snapshotTerm(replicatedLog().getSnapshotTerm())
.votedFor(context.getTermInformation().getVotedFor())
- .peerAddresses(new HashMap<>(context.getPeerAddresses()));
+ .peerAddresses(context.getPeerAddresses());
ReplicatedLogEntry lastLogEntry = getLastLogEntry();
if (lastLogEntry != null) {