+ @Deprecated(since = "7.0.0", forRemoval = true)
+ private static class Proxy implements Externalizable {
+ @java.io.Serial
+ private static final long serialVersionUID = 1L;
+
+ private RequestVote requestVote;
+
+ // checkstyle flags the public modifier as redundant which really doesn't make sense since it clearly isn't
+ // redundant. It is explicitly needed for Java serialization to be able to create instances via reflection.
+ @SuppressWarnings("checkstyle:RedundantModifier")
+ public Proxy() {
+ }
+
+ @Override
+ public void writeExternal(final ObjectOutput out) {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public void readExternal(final ObjectInput in) throws IOException, ClassNotFoundException {
+ long term = in.readLong();
+ String candidateId = (String) in.readObject();
+ long lastLogIndex = in.readLong();
+ long lastLogTerm = in.readLong();
+
+ requestVote = new RequestVote(term, candidateId, lastLogIndex, lastLogTerm);
+ }