/* * Copyright (c) 2014 Cisco Systems, Inc. and others. All rights reserved. * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ package org.opendaylight.controller.cluster.raft.behaviors; import akka.actor.ActorRef; import org.opendaylight.controller.cluster.raft.RaftActorContext; import org.opendaylight.controller.cluster.raft.RaftState; import org.opendaylight.controller.cluster.raft.messages.AppendEntries; import org.opendaylight.controller.cluster.raft.messages.AppendEntriesReply; import org.opendaylight.controller.cluster.raft.messages.RequestVote; import org.opendaylight.controller.cluster.raft.messages.RequestVoteReply; import java.util.List; /** * The behavior of a RaftActor when it is in the CandidateState *

* Candidates (ยง5.2): *

*/ public class Candidate extends AbstractRaftActorBehavior { private final List peers; public Candidate(RaftActorContext context, List peers) { super(context); this.peers = peers; } @Override protected RaftState handleAppendEntries(ActorRef sender, AppendEntries appendEntries, RaftState suggestedState) { return suggestedState; } @Override protected RaftState handleAppendEntriesReply(ActorRef sender, AppendEntriesReply appendEntriesReply, RaftState suggestedState) { return suggestedState; } @Override protected RaftState handleRequestVote(ActorRef sender, RequestVote requestVote, RaftState suggestedState) { return suggestedState; } @Override protected RaftState handleRequestVoteReply(ActorRef sender, RequestVoteReply requestVoteReply, RaftState suggestedState) { return suggestedState; } @Override protected RaftState state() { return RaftState.Candidate; } @Override public RaftState handleMessage(ActorRef sender, Object message) { return super.handleMessage(sender, message); } }