Bug 7391: Fix out-of-order LeaderStateChange events
[controller.git] / opendaylight / md-sal / sal-akka-raft / src / main / java / org / opendaylight / controller / cluster / raft / base / messages / LeaderTransitioning.java
index 4974f8f4b26e76d729d0b4b4760cd135011faa4c..fd2fb686773d6caa292a352091ad9ab28f5c7eaf 100644 (file)
@@ -7,13 +7,31 @@
  */
 package org.opendaylight.controller.cluster.raft.base.messages;
 
+import com.google.common.base.Preconditions;
 import java.io.Serializable;
+import javax.annotation.Nonnull;
 
 /**
  * Message sent from a leader to its followers to indicate leadership transfer is starting.
  *
  * @author Thomas Pantelis
  */
-public class LeaderTransitioning implements Serializable {
+public final class LeaderTransitioning implements Serializable {
     private static final long serialVersionUID = 1L;
+
+    private final String leaderId;
+
+    public LeaderTransitioning(@Nonnull final String leaderId) {
+        this.leaderId = Preconditions.checkNotNull(leaderId);
+    }
+
+    @Nonnull
+    public String getLeaderId() {
+        return leaderId;
+    }
+
+    @Override
+    public String toString() {
+        return "LeaderTransitioning [leaderId=" + leaderId + "]";
+    }
 }