2 * Copyright (c) 2014 Cisco Systems, Inc. and others. All rights reserved.
4 * This program and the accompanying materials are made available under the
5 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6 * and is available at http://www.eclipse.org/legal/epl-v10.html
9 package org.opendaylight.controller.cluster.raft;
11 import org.opendaylight.controller.cluster.raft.protobuff.client.messages.Payload;
14 * Represents one entry in the replicated log.
16 public interface ReplicatedLogEntry {
18 * Returns the payload/data to be replicated.
20 * @return the payload/data
25 * Returns the term of the entry.
32 * Returns the index of the entry.
39 * Returns the size of the entry in bytes. An approximate number may be good enough.
41 * @return the size of the entry in bytes.
46 * Checks if persistence is pending for this entry.
48 * @return true if persistence is pending, false otherwise.
50 boolean isPersistencePending();
53 * Sets whether or not persistence is pending for this entry.
55 * @param pending the new setting.
57 void setPersistencePending(boolean pending);