public class AppendRequest extends Object implements IdentifiedDataSerializable
See 5.3 Log replication section of In Search of an Understandable Consensus Algorithm paper by Diego Ongaro and John Ousterhout.
Invoked by leader to replicate log entries (§5.3); also used as heartbeat (§5.2).
Constructor and Description |
---|
AppendRequest() |
AppendRequest(RaftEndpoint leader,
int term,
int prevLogTerm,
long prevLogIndex,
long leaderCommitIndex,
LogEntry[] entries,
long queryRound) |
Modifier and Type | Method and Description |
---|---|
LogEntry[] |
entries() |
int |
entryCount() |
int |
getClassId()
Returns type identifier for this class.
|
int |
getFactoryId()
Returns DataSerializableFactory factory ID for this class.
|
RaftEndpoint |
leader() |
long |
leaderCommitIndex() |
long |
prevLogIndex() |
int |
prevLogTerm() |
long |
queryRound() |
void |
readData(ObjectDataInput in)
Reads fields from the input stream
|
int |
term() |
String |
toString() |
void |
writeData(ObjectDataOutput out)
Writes object fields to output stream
|
public AppendRequest()
public AppendRequest(RaftEndpoint leader, int term, int prevLogTerm, long prevLogIndex, long leaderCommitIndex, LogEntry[] entries, long queryRound)
public RaftEndpoint leader()
public int term()
public int prevLogTerm()
public long prevLogIndex()
public long leaderCommitIndex()
public LogEntry[] entries()
public int entryCount()
public long queryRound()
public int getFactoryId()
IdentifiedDataSerializable
getFactoryId
in interface IdentifiedDataSerializable
public int getClassId()
IdentifiedDataSerializable
getClassId
in interface IdentifiedDataSerializable
public void writeData(ObjectDataOutput out) throws IOException
DataSerializable
writeData
in interface DataSerializable
out
- outputIOException
- if an I/O error occurs. In particular,
an IOException
may be thrown if the
output stream has been closed.public void readData(ObjectDataInput in) throws IOException
DataSerializable
readData
in interface DataSerializable
in
- inputIOException
- if an I/O error occurs. In particular,
an IOException
may be thrown if the
input stream has been closed.Copyright © 2019 Hazelcast, Inc.. All rights reserved.