io.paradoxical.cassandra.leadership.factories.DisabledLeadershipElectionFactory Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of cassandra-leadership Show documentation
Show all versions of cassandra-leadership Show documentation
Leadership election using Cassandra
The newest version!
package io.paradoxical.cassandra.leadership.factories;
import io.paradoxical.cassandra.leadership.data.LeaderIdentity;
import io.paradoxical.cassandra.leadership.data.LeadershipToken;
import io.paradoxical.cassandra.leadership.interfaces.LeadershipElectionFactory;
import io.paradoxical.cassandra.leadership.data.LeadershipGroup;
import io.paradoxical.cassandra.leadership.interfaces.LeadershipElection;
import java.time.Duration;
import java.util.Optional;
public class DisabledLeadershipElectionFactory implements LeadershipElectionFactory {
@Override public LeadershipElection create(final LeadershipGroup key) {
return new LeadershipElection() {
/**
* Everyone can be leader
* @param identity
* @param ttl
* @return
*/
@Override public Optional tryClaimLeader(
final LeaderIdentity identity, final Duration ttl) {
return Optional.of(new LeadershipToken(ttl, identity, null));
}
/**
* All heartbeats succeed
* @param claim
* @return
*/
@Override public boolean tryHeartbeat(final LeadershipToken claim) {
return true;
}
/**
* All renounces succeed
* @param claim
* @return
*/
@Override public boolean renounceLeadership(final LeadershipToken claim) {
return true;
}
@Override public LeaderIdentity getLeader() {
return null;
}
};
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy