/**
* Autogenerated by Thrift Compiler (0.9.2)
*
* DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
* @generated
*/
package PBFT;
import org.apache.thrift.scheme.IScheme;
import org.apache.thrift.scheme.SchemeFactory;
import org.apache.thrift.scheme.StandardScheme;
import org.apache.thrift.scheme.TupleScheme;
import org.apache.thrift.protocol.TTupleProtocol;
import org.apache.thrift.protocol.TProtocolException;
import org.apache.thrift.EncodingUtils;
import org.apache.thrift.TException;
import org.apache.thrift.async.AsyncMethodCallback;
import org.apache.thrift.server.AbstractNonblockingServer.*;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.util.HashMap;
import java.util.EnumMap;
import java.util.Set;
import java.util.HashSet;
import java.util.EnumSet;
import java.util.Collections;
import java.util.BitSet;
import java.nio.ByteBuffer;
import java.util.Arrays;
import javax.annotation.Generated;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2014-12-10")
public class ViewChangeMessage implements org.apache.thrift.TBase<ViewChangeMessage, ViewChangeMessage._Fields>, java.io.Serializable, Cloneable, Comparable<ViewChangeMessage> {
private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ViewChangeMessage");
private static final org.apache.thrift.protocol.TField NEW_VIEW_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("newViewID", org.apache.thrift.protocol.TType.I32, (short)1);
private static final org.apache.thrift.protocol.TField SEQUENCE_NUMBER_FIELD_DESC = new org.apache.thrift.protocol.TField("sequenceNumber", org.apache.thrift.protocol.TType.I32, (short)2);
private static final org.apache.thrift.protocol.TField CHECKPOINT_PROOF_FIELD_DESC = new org.apache.thrift.protocol.TField("checkpointProof", org.apache.thrift.protocol.TType.SET, (short)3);
private static final org.apache.thrift.protocol.TField PREPARED_GREATER_THAN_SEQUENCE_NUMBER_FIELD_DESC = new org.apache.thrift.protocol.TField("preparedGreaterThanSequenceNumber", org.apache.thrift.protocol.TType.LIST, (short)4);
private static final org.apache.thrift.protocol.TField PREPARE_MESSAGES_FIELD_DESC = new org.apache.thrift.protocol.TField("prepareMessages", org.apache.thrift.protocol.TType.LIST, (short)5);
private static final org.apache.thrift.protocol.TField REPLICA_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("replicaID", org.apache.thrift.protocol.TType.I32, (short)6);
private static final org.apache.thrift.protocol.TField MESSAGE_SIGNATURE_FIELD_DESC = new org.apache.thrift.protocol.TField("messageSignature", org.apache.thrift.protocol.TType.STRING, (short)7);
private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
static {
schemes.put(StandardScheme.class, new ViewChangeMessageStandardSchemeFactory());
schemes.put(TupleScheme.class, new ViewChangeMessageTupleSchemeFactory());
}
public int newViewID; // required
public int sequenceNumber; // required
public Set<CheckpointMessage> checkpointProof; // required
public List<PrePrepareMessage> preparedGreaterThanSequenceNumber; // required
public List<Set<PrepareMessage>> prepareMessages; // required
public int replicaID; // required
public ByteBuffer messageSignature; // required
/** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
public enum _Fields implements org.apache.thrift.TFieldIdEnum {
NEW_VIEW_ID((short)1, "newViewID"),
SEQUENCE_NUMBER((short)2, "sequenceNumber"),
CHECKPOINT_PROOF((short)3, "checkpointProof"),
PREPARED_GREATER_THAN_SEQUENCE_NUMBER((short)4, "preparedGreaterThanSequenceNumber"),
PREPARE_MESSAGES((short)5, "prepareMessages"),
REPLICA_ID((short)6, "replicaID"),
MESSAGE_SIGNATURE((short)7, "messageSignature");
private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
static {
for (_Fields field : EnumSet.allOf(_Fields.class)) {
byName.put(field.getFieldName(), field);
}
}
/**
* Find the _Fields constant that matches fieldId, or null if its not found.
*/
public static _Fields findByThriftId(int fieldId) {
switch(fieldId) {
case 1: // NEW_VIEW_ID
return NEW_VIEW_ID;
case 2: // SEQUENCE_NUMBER
return SEQUENCE_NUMBER;
case 3: // CHECKPOINT_PROOF
return CHECKPOINT_PROOF;
case 4: // PREPARED_GREATER_THAN_SEQUENCE_NUMBER
return PREPARED_GREATER_THAN_SEQUENCE_NUMBER;
case 5: // PREPARE_MESSAGES
return PREPARE_MESSAGES;
case 6: // REPLICA_ID
return REPLICA_ID;
case 7: // MESSAGE_SIGNATURE
return MESSAGE_SIGNATURE;
default:
return null;
}
}
/**
* Find the _Fields constant that matches fieldId, throwing an exception
* if it is not found.
*/
public static _Fields findByThriftIdOrThrow(int fieldId) {
_Fields fields = findByThriftId(fieldId);
if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
return fields;
}
/**
* Find the _Fields constant that matches name, or null if its not found.
*/
public static _Fields findByName(String name) {
return byName.get(name);
}
private final short _thriftId;
private final String _fieldName;
_Fields(short thriftId, String fieldName) {
_thriftId = thriftId;
_fieldName = fieldName;
}
public short getThriftFieldId() {
return _thriftId;
}
public String getFieldName() {
return _fieldName;
}
}
// isset id assignments
private static final int __NEWVIEWID_ISSET_ID = 0;
private static final int __SEQUENCENUMBER_ISSET_ID = 1;
private static final int __REPLICAID_ISSET_ID = 2;
private byte __isset_bitfield = 0;
public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
static {
Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
tmpMap.put(_Fields.NEW_VIEW_ID, new org.apache.thrift.meta_data.FieldMetaData("newViewID", org.apache.thrift.TFieldRequirementType.DEFAULT,
new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
tmpMap.put(_Fields.SEQUENCE_NUMBER, new org.apache.thrift.meta_data.FieldMetaData("sequenceNumber", org.apache.thrift.TFieldRequirementType.DEFAULT,
new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
tmpMap.put(_Fields.CHECKPOINT_PROOF, new org.apache.thrift.meta_data.FieldMetaData("checkpointProof", org.apache.thrift.TFieldRequirementType.DEFAULT,
new org.apache.thrift.meta_data.SetMetaData(org.apache.thrift.protocol.TType.SET,
new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, CheckpointMessage.class))));
tmpMap.put(_Fields.PREPARED_GREATER_THAN_SEQUENCE_NUMBER, new org.apache.thrift.meta_data.FieldMetaData("preparedGreaterThanSequenceNumber", org.apache.thrift.TFieldRequirementType.DEFAULT,
new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST,
new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, PrePrepareMessage.class))));
tmpMap.put(_Fields.PREPARE_MESSAGES, new org.apache.thrift.meta_data.FieldMetaData("prepareMessages", org.apache.thrift.TFieldRequirementType.DEFAULT,
new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST,
new org.apache.thrift.meta_data.SetMetaData(org.apache.thrift.protocol.TType.SET,
new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, PrepareMessage.class)))));
tmpMap.put(_Fields.REPLICA_ID, new org.apache.thrift.meta_data.FieldMetaData("replicaID", org.apache.thrift.TFieldRequirementType.DEFAULT,
new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
tmpMap.put(_Fields.MESSAGE_SIGNATURE, new org.apache.thrift.meta_data.FieldMetaData("messageSignature", org.apache.thrift.TFieldRequirementType.DEFAULT,
new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING , "Signature")));
metaDataMap = Collections.unmodifiableMap(tmpMap);
org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(ViewChangeMessage.class, metaDataMap);
}
public ViewChangeMessage() {
}
public ViewChangeMessage(
int newViewID,
int sequenceNumber,
Set<CheckpointMessage> checkpointProof,
List<PrePrepareMessage> preparedGreaterThanSequenceNumber,
List<Set<PrepareMessage>> prepareMessages,
int replicaID,
ByteBuffer messageSignature)
{
this();
this.newViewID = newViewID;
setNewViewIDIsSet(true);
this.sequenceNumber = sequenceNumber;
setSequenceNumberIsSet(true);
this.checkpointProof = checkpointProof;
this.preparedGreaterThanSequenceNumber = preparedGreaterThanSequenceNumber;
this.prepareMessages = prepareMessages;
this.replicaID = replicaID;
setReplicaIDIsSet(true);
this.messageSignature = org.apache.thrift.TBaseHelper.copyBinary(messageSignature);
}
/**
* Performs a deep copy on <i>other</i>.
*/
public ViewChangeMessage(ViewChangeMessage other) {
__isset_bitfield = other.__isset_bitfield;
this.newViewID = other.newViewID;
this.sequenceNumber = other.sequenceNumber;
if (other.isSetCheckpointProof()) {
Set<CheckpointMessage> __this__checkpointProof = new HashSet<CheckpointMessage>(other.checkpointProof.size());
for (CheckpointMessage other_element : other.checkpointProof) {
__this__checkpointProof.add(new CheckpointMessage(other_element));
}
this.checkpointProof = __this__checkpointProof;
}
if (other.isSetPreparedGreaterThanSequenceNumber()) {
List<PrePrepareMessage> __this__preparedGreaterThanSequenceNumber = new ArrayList<PrePrepareMessage>(other.preparedGreaterThanSequenceNumber.size());
for (PrePrepareMessage other_element : other.preparedGreaterThanSequenceNumber) {
__this__preparedGreaterThanSequenceNumber.add(new PrePrepareMessage(other_element));
}
this.preparedGreaterThanSequenceNumber = __this__preparedGreaterThanSequenceNumber;
}
if (other.isSetPrepareMessages()) {
List<Set<PrepareMessage>> __this__prepareMessages = new ArrayList<Set<PrepareMessage>>(other.prepareMessages.size());
for (Set<PrepareMessage> other_element : other.prepareMessages) {
Set<PrepareMessage> __this__prepareMessages_copy = new HashSet<PrepareMessage>(other_element.size());
for (PrepareMessage other_element_element : other_element) {
__this__prepareMessages_copy.add(new PrepareMessage(other_element_element));
}
__this__prepareMessages.add(__this__prepareMessages_copy);
}
this.prepareMessages = __this__prepareMessages;
}
this.replicaID = other.replicaID;
if (other.isSetMessageSignature()) {
this.messageSignature = other.messageSignature;
}
}
public ViewChangeMessage deepCopy() {
return new ViewChangeMessage(this);
}
@Override
public void clear() {
setNewViewIDIsSet(false);
this.newViewID = 0;
setSequenceNumberIsSet(false);
this.sequenceNumber = 0;
this.checkpointProof = null;
this.preparedGreaterThanSequenceNumber = null;
this.prepareMessages = null;
setReplicaIDIsSet(false);
this.replicaID = 0;
this.messageSignature = null;
}
public int getNewViewID() {
return this.newViewID;
}
public ViewChangeMessage setNewViewID(int newViewID) {
this.newViewID = newViewID;
setNewViewIDIsSet(true);
return this;
}
public void unsetNewViewID() {
__isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __NEWVIEWID_ISSET_ID);
}
/** Returns true if field newViewID is set (has been assigned a value) and false otherwise */
public boolean isSetNewViewID() {
return EncodingUtils.testBit(__isset_bitfield, __NEWVIEWID_ISSET_ID);
}
public void setNewViewIDIsSet(boolean value) {
__isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __NEWVIEWID_ISSET_ID, value);
}
public int getSequenceNumber() {
return this.sequenceNumber;
}
public ViewChangeMessage setSequenceNumber(int sequenceNumber) {
this.sequenceNumber = sequenceNumber;
setSequenceNumberIsSet(true);
return this;
}
public void unsetSequenceNumber() {
__isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __SEQUENCENUMBER_ISSET_ID);
}
/** Returns true if field sequenceNumber is set (has been assigned a value) and false otherwise */
public boolean isSetSequenceNumber() {
return EncodingUtils.testBit(__isset_bitfield, __SEQUENCENUMBER_ISSET_ID);
}
public void setSequenceNumberIsSet(boolean value) {
__isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __SEQUENCENUMBER_ISSET_ID, value);
}
public int getCheckpointProofSize() {
return (this.checkpointProof == null) ? 0 : this.checkpointProof.size();
}
public java.util.Iterator<CheckpointMessage> getCheckpointProofIterator() {
return (this.checkpointProof == null) ? null : this.checkpointProof.iterator();
}
public void addToCheckpointProof(CheckpointMessage elem) {
if (this.checkpointProof == null) {
this.checkpointProof = new HashSet<CheckpointMessage>();
}
this.checkpointProof.add(elem);
}
public Set<CheckpointMessage> getCheckpointProof() {
return this.checkpointProof;
}
public ViewChangeMessage setCheckpointProof(Set<CheckpointMessage> checkpointProof) {
this.checkpointProof = checkpointProof;
return this;
}
public void unsetCheckpointProof() {
this.checkpointProof = null;
}
/** Returns true if field checkpointProof is set (has been assigned a value) and false otherwise */
public boolean isSetCheckpointProof() {
return this.checkpointProof != null;
}
public void setCheckpointProofIsSet(boolean value) {
if (!value) {
this.checkpointProof = null;
}
}
public int getPreparedGreaterThanSequenceNumberSize() {
return (this.preparedGreaterThanSequenceNumber == null) ? 0 : this.preparedGreaterThanSequenceNumber.size();
}
public java.util.Iterator<PrePrepareMessage> getPreparedGreaterThanSequenceNumberIterator() {
return (this.preparedGreaterThanSequenceNumber == null) ? null : this.preparedGreaterThanSequenceNumber.iterator();
}
public void addToPreparedGreaterThanSequenceNumber(PrePrepareMessage elem) {
if (this.preparedGreaterThanSequenceNumber == null) {
this.preparedGreaterThanSequenceNumber = new ArrayList<PrePrepareMessage>();
}
this.preparedGreaterThanSequenceNumber.add(elem);
}
public List<PrePrepareMessage> getPreparedGreaterThanSequenceNumber() {
return this.preparedGreaterThanSequenceNumber;
}
public ViewChangeMessage setPreparedGreaterThanSequenceNumber(List<PrePrepareMessage> preparedGreaterThanSequenceNumber) {
this.preparedGreaterThanSequenceNumber = preparedGreaterThanSequenceNumber;
return this;
}
public void unsetPreparedGreaterThanSequenceNumber() {
this.preparedGreaterThanSequenceNumber = null;
}
/** Returns true if field preparedGreaterThanSequenceNumber is set (has been assigned a value) and false otherwise */
public boolean isSetPreparedGreaterThanSequenceNumber() {
return this.preparedGreaterThanSequenceNumber != null;
}
public void setPreparedGreaterThanSequenceNumberIsSet(boolean value) {
if (!value) {
this.preparedGreaterThanSequenceNumber = null;
}
}
public int getPrepareMessagesSize() {
return (this.prepareMessages == null) ? 0 : this.prepareMessages.size();
}
public java.util.Iterator<Set<PrepareMessage>> getPrepareMessagesIterator() {
return (this.prepareMessages == null) ? null : this.prepareMessages.iterator();
}
public void addToPrepareMessages(Set<PrepareMessage> elem) {
if (this.prepareMessages == null) {
this.prepareMessages = new ArrayList<Set<PrepareMessage>>();
}
this.prepareMessages.add(elem);
}
public List<Set<PrepareMessage>> getPrepareMessages() {
return this.prepareMessages;
}
public ViewChangeMessage setPrepareMessages(List<Set<PrepareMessage>> prepareMessages) {
this.prepareMessages = prepareMessages;
return this;
}
public void unsetPrepareMessages() {
this.prepareMessages = null;
}
/** Returns true if field prepareMessages is set (has been assigned a value) and false otherwise */
public boolean isSetPrepareMessages() {
return this.prepareMessages != null;
}
public void setPrepareMessagesIsSet(boolean value) {
if (!value) {
this.prepareMessages = null;
}
}
public int getReplicaID() {
return this.replicaID;
}
public ViewChangeMessage setReplicaID(int replicaID) {
this.replicaID = replicaID;
setReplicaIDIsSet(true);
return this;
}
public void unsetReplicaID() {
__isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __REPLICAID_ISSET_ID);
}
/** Returns true if field replicaID is set (has been assigned a value) and false otherwise */
public boolean isSetReplicaID() {
return EncodingUtils.testBit(__isset_bitfield, __REPLICAID_ISSET_ID);
}
public void setReplicaIDIsSet(boolean value) {
__isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __REPLICAID_ISSET_ID, value);
}
public byte[] getMessageSignature() {
setMessageSignature(org.apache.thrift.TBaseHelper.rightSize(messageSignature));
return messageSignature == null ? null : messageSignature.array();
}
public ByteBuffer bufferForMessageSignature() {
return org.apache.thrift.TBaseHelper.copyBinary(messageSignature);
}
public ViewChangeMessage setMessageSignature(byte[] messageSignature) {
this.messageSignature = messageSignature == null ? (ByteBuffer)null : ByteBuffer.wrap(Arrays.copyOf(messageSignature, messageSignature.length));
return this;
}
public ViewChangeMessage setMessageSignature(ByteBuffer messageSignature) {
this.messageSignature = org.apache.thrift.TBaseHelper.copyBinary(messageSignature);
return this;
}
public void unsetMessageSignature() {
this.messageSignature = null;
}
/** Returns true if field messageSignature is set (has been assigned a value) and false otherwise */
public boolean isSetMessageSignature() {
return this.messageSignature != null;
}
public void setMessageSignatureIsSet(boolean value) {
if (!value) {
this.messageSignature = null;
}
}
public void setFieldValue(_Fields field, Object value) {
switch (field) {
case NEW_VIEW_ID:
if (value == null) {
unsetNewViewID();
} else {
setNewViewID((Integer)value);
}
break;
case SEQUENCE_NUMBER:
if (value == null) {
unsetSequenceNumber();
} else {
setSequenceNumber((Integer)value);
}
break;
case CHECKPOINT_PROOF:
if (value == null) {
unsetCheckpointProof();
} else {
setCheckpointProof((Set<CheckpointMessage>)value);
}
break;
case PREPARED_GREATER_THAN_SEQUENCE_NUMBER:
if (value == null) {
unsetPreparedGreaterThanSequenceNumber();
} else {
setPreparedGreaterThanSequenceNumber((List<PrePrepareMessage>)value);
}
break;
case PREPARE_MESSAGES:
if (value == null) {
unsetPrepareMessages();
} else {
setPrepareMessages((List<Set<PrepareMessage>>)value);
}
break;
case REPLICA_ID:
if (value == null) {
unsetReplicaID();
} else {
setReplicaID((Integer)value);
}
break;
case MESSAGE_SIGNATURE:
if (value == null) {
unsetMessageSignature();
} else {
setMessageSignature((ByteBuffer)value);
}
break;
}
}
public Object getFieldValue(_Fields field) {
switch (field) {
case NEW_VIEW_ID:
return Integer.valueOf(getNewViewID());
case SEQUENCE_NUMBER:
return Integer.valueOf(getSequenceNumber());
case CHECKPOINT_PROOF:
return getCheckpointProof();
case PREPARED_GREATER_THAN_SEQUENCE_NUMBER:
return getPreparedGreaterThanSequenceNumber();
case PREPARE_MESSAGES:
return getPrepareMessages();
case REPLICA_ID:
return Integer.valueOf(getReplicaID());
case MESSAGE_SIGNATURE:
return getMessageSignature();
}
throw new IllegalStateException();
}
/** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
public boolean isSet(_Fields field) {
if (field == null) {
throw new IllegalArgumentException();
}
switch (field) {
case NEW_VIEW_ID:
return isSetNewViewID();
case SEQUENCE_NUMBER:
return isSetSequenceNumber();
case CHECKPOINT_PROOF:
return isSetCheckpointProof();
case PREPARED_GREATER_THAN_SEQUENCE_NUMBER:
return isSetPreparedGreaterThanSequenceNumber();
case PREPARE_MESSAGES:
return isSetPrepareMessages();
case REPLICA_ID:
return isSetReplicaID();
case MESSAGE_SIGNATURE:
return isSetMessageSignature();
}
throw new IllegalStateException();
}
@Override
public boolean equals(Object that) {
if (that == null)
return false;
if (that instanceof ViewChangeMessage)
return this.equals((ViewChangeMessage)that);
return false;
}
public boolean equals(ViewChangeMessage that) {
if (that == null)
return false;
boolean this_present_newViewID = true;
boolean that_present_newViewID = true;
if (this_present_newViewID || that_present_newViewID) {
if (!(this_present_newViewID && that_present_newViewID))
return false;
if (this.newViewID != that.newViewID)
return false;
}
boolean this_present_sequenceNumber = true;
boolean that_present_sequenceNumber = true;
if (this_present_sequenceNumber || that_present_sequenceNumber) {
if (!(this_present_sequenceNumber && that_present_sequenceNumber))
return false;
if (this.sequenceNumber != that.sequenceNumber)
return false;
}
boolean this_present_checkpointProof = true && this.isSetCheckpointProof();
boolean that_present_checkpointProof = true && that.isSetCheckpointProof();
if (this_present_checkpointProof || that_present_checkpointProof) {
if (!(this_present_checkpointProof && that_present_checkpointProof))
return false;
if (!this.checkpointProof.equals(that.checkpointProof))
return false;
}
boolean this_present_preparedGreaterThanSequenceNumber = true && this.isSetPreparedGreaterThanSequenceNumber();
boolean that_present_preparedGreaterThanSequenceNumber = true && that.isSetPreparedGreaterThanSequenceNumber();
if (this_present_preparedGreaterThanSequenceNumber || that_present_preparedGreaterThanSequenceNumber) {
if (!(this_present_preparedGreaterThanSequenceNumber && that_present_preparedGreaterThanSequenceNumber))
return false;
if (!this.preparedGreaterThanSequenceNumber.equals(that.preparedGreaterThanSequenceNumber))
return false;
}
boolean this_present_prepareMessages = true && this.isSetPrepareMessages();
boolean that_present_prepareMessages = true && that.isSetPrepareMessages();
if (this_present_prepareMessages || that_present_prepareMessages) {
if (!(this_present_prepareMessages && that_present_prepareMessages))
return false;
if (!this.prepareMessages.equals(that.prepareMessages))
return false;
}
boolean this_present_replicaID = true;
boolean that_present_replicaID = true;
if (this_present_replicaID || that_present_replicaID) {
if (!(this_present_replicaID && that_present_replicaID))
return false;
if (this.replicaID != that.replicaID)
return false;
}
boolean this_present_messageSignature = true && this.isSetMessageSignature();
boolean that_present_messageSignature = true && that.isSetMessageSignature();
if (this_present_messageSignature || that_present_messageSignature) {
if (!(this_present_messageSignature && that_present_messageSignature))
return false;
if (!this.messageSignature.equals(that.messageSignature))
return false;
}
return true;
}
@Override
public int hashCode() {
List<Object> list = new ArrayList<Object>();
boolean present_newViewID = true;
list.add(present_newViewID);
if (present_newViewID)
list.add(newViewID);
boolean present_sequenceNumber = true;
list.add(present_sequenceNumber);
if (present_sequenceNumber)
list.add(sequenceNumber);
boolean present_checkpointProof = true && (isSetCheckpointProof());
list.add(present_checkpointProof);
if (present_checkpointProof)
list.add(checkpointProof);
boolean present_preparedGreaterThanSequenceNumber = true && (isSetPreparedGreaterThanSequenceNumber());
list.add(present_preparedGreaterThanSequenceNumber);
if (present_preparedGreaterThanSequenceNumber)
list.add(preparedGreaterThanSequenceNumber);
boolean present_prepareMessages = true && (isSetPrepareMessages());
list.add(present_prepareMessages);
if (present_prepareMessages)
list.add(prepareMessages);
boolean present_replicaID = true;
list.add(present_replicaID);
if (present_replicaID)
list.add(replicaID);
boolean present_messageSignature = true && (isSetMessageSignature());
list.add(present_messageSignature);
if (present_messageSignature)
list.add(messageSignature);
return list.hashCode();
}
@Override
public int compareTo(ViewChangeMessage other) {
if (!getClass().equals(other.getClass())) {
return getClass().getName().compareTo(other.getClass().getName());
}
int lastComparison = 0;
lastComparison = Boolean.valueOf(isSetNewViewID()).compareTo(other.isSetNewViewID());
if (lastComparison != 0) {
return lastComparison;
}
if (isSetNewViewID()) {
lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.newViewID, other.newViewID);
if (lastComparison != 0) {
return lastComparison;
}
}
lastComparison = Boolean.valueOf(isSetSequenceNumber()).compareTo(other.isSetSequenceNumber());
if (lastComparison != 0) {
return lastComparison;
}
if (isSetSequenceNumber()) {
lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.sequenceNumber, other.sequenceNumber);
if (lastComparison != 0) {
return lastComparison;
}
}
lastComparison = Boolean.valueOf(isSetCheckpointProof()).compareTo(other.isSetCheckpointProof());
if (lastComparison != 0) {
return lastComparison;
}
if (isSetCheckpointProof()) {
lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.checkpointProof, other.checkpointProof);
if (lastComparison != 0) {
return lastComparison;
}
}
lastComparison = Boolean.valueOf(isSetPreparedGreaterThanSequenceNumber()).compareTo(other.isSetPreparedGreaterThanSequenceNumber());
if (lastComparison != 0) {
return lastComparison;
}
if (isSetPreparedGreaterThanSequenceNumber()) {
lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.preparedGreaterThanSequenceNumber, other.preparedGreaterThanSequenceNumber);
if (lastComparison != 0) {
return lastComparison;
}
}
lastComparison = Boolean.valueOf(isSetPrepareMessages()).compareTo(other.isSetPrepareMessages());
if (lastComparison != 0) {
return lastComparison;
}
if (isSetPrepareMessages()) {
lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.prepareMessages, other.prepareMessages);
if (lastComparison != 0) {
return lastComparison;
}
}
lastComparison = Boolean.valueOf(isSetReplicaID()).compareTo(other.isSetReplicaID());
if (lastComparison != 0) {
return lastComparison;
}
if (isSetReplicaID()) {
lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.replicaID, other.replicaID);
if (lastComparison != 0) {
return lastComparison;
}
}
lastComparison = Boolean.valueOf(isSetMessageSignature()).compareTo(other.isSetMessageSignature());
if (lastComparison != 0) {
return lastComparison;
}
if (isSetMessageSignature()) {
lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.messageSignature, other.messageSignature);
if (lastComparison != 0) {
return lastComparison;
}
}
return 0;
}
public _Fields fieldForId(int fieldId) {
return _Fields.findByThriftId(fieldId);
}
public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
}
public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder("ViewChangeMessage(");
boolean first = true;
sb.append("newViewID:");
sb.append(this.newViewID);
first = false;
if (!first) sb.append(", ");
sb.append("sequenceNumber:");
sb.append(this.sequenceNumber);
first = false;
if (!first) sb.append(", ");
sb.append("checkpointProof:");
if (this.checkpointProof == null) {
sb.append("null");
} else {
sb.append(this.checkpointProof);
}
first = false;
if (!first) sb.append(", ");
sb.append("preparedGreaterThanSequenceNumber:");
if (this.preparedGreaterThanSequenceNumber == null) {
sb.append("null");
} else {
sb.append(this.preparedGreaterThanSequenceNumber);
}
first = false;
if (!first) sb.append(", ");
sb.append("prepareMessages:");
if (this.prepareMessages == null) {
sb.append("null");
} else {
sb.append(this.prepareMessages);
}
first = false;
if (!first) sb.append(", ");
sb.append("replicaID:");
sb.append(this.replicaID);
first = false;
if (!first) sb.append(", ");
sb.append("messageSignature:");
if (this.messageSignature == null) {
sb.append("null");
} else {
sb.append(this.messageSignature);
}
first = false;
sb.append(")");
return sb.toString();
}
public void validate() throws org.apache.thrift.TException {
// check for required fields
// check for sub-struct validity
}
private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
try {
write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
} catch (org.apache.thrift.TException te) {
throw new java.io.IOException(te);
}
}
private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
try {
// it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
__isset_bitfield = 0;
read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
} catch (org.apache.thrift.TException te) {
throw new java.io.IOException(te);
}
}
private static class ViewChangeMessageStandardSchemeFactory implements SchemeFactory {
public ViewChangeMessageStandardScheme getScheme() {
return new ViewChangeMessageStandardScheme();
}
}
private static class ViewChangeMessageStandardScheme extends StandardScheme<ViewChangeMessage> {
public void read(org.apache.thrift.protocol.TProtocol iprot, ViewChangeMessage struct) throws org.apache.thrift.TException {
org.apache.thrift.protocol.TField schemeField;
iprot.readStructBegin();
while (true)
{
schemeField = iprot.readFieldBegin();
if (schemeField.type == org.apache.thrift.protocol.TType.STOP) {
break;
}
switch (schemeField.id) {
case 1: // NEW_VIEW_ID
if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
struct.newViewID = iprot.readI32();
struct.setNewViewIDIsSet(true);
} else {
org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
}
break;
case 2: // SEQUENCE_NUMBER
if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
struct.sequenceNumber = iprot.readI32();
struct.setSequenceNumberIsSet(true);
} else {
org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
}
break;
case 3: // CHECKPOINT_PROOF
if (schemeField.type == org.apache.thrift.protocol.TType.SET) {
{
org.apache.thrift.protocol.TSet _set0 = iprot.readSetBegin();
struct.checkpointProof = new HashSet<CheckpointMessage>(2*_set0.size);
CheckpointMessage _elem1;
for (int _i2 = 0; _i2 < _set0.size; ++_i2)
{
_elem1 = new CheckpointMessage();
_elem1.read(iprot);
struct.checkpointProof.add(_elem1);
}
iprot.readSetEnd();
}
struct.setCheckpointProofIsSet(true);
} else {
org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
}
break;
case 4: // PREPARED_GREATER_THAN_SEQUENCE_NUMBER
if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
{
org.apache.thrift.protocol.TList _list3 = iprot.readListBegin();
struct.preparedGreaterThanSequenceNumber = new ArrayList<PrePrepareMessage>(_list3.size);
PrePrepareMessage _elem4;
for (int _i5 = 0; _i5 < _list3.size; ++_i5)
{
_elem4 = new PrePrepareMessage();
_elem4.read(iprot);
struct.preparedGreaterThanSequenceNumber.add(_elem4);
}
iprot.readListEnd();
}
struct.setPreparedGreaterThanSequenceNumberIsSet(true);
} else {
org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
}
break;
case 5: // PREPARE_MESSAGES
if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
{
org.apache.thrift.protocol.TList _list6 = iprot.readListBegin();
struct.prepareMessages = new ArrayList<Set<PrepareMessage>>(_list6.size);
Set<PrepareMessage> _elem7;
for (int _i8 = 0; _i8 < _list6.size; ++_i8)
{
{
org.apache.thrift.protocol.TSet _set9 = iprot.readSetBegin();
_elem7 = new HashSet<PrepareMessage>(2*_set9.size);
PrepareMessage _elem10;
for (int _i11 = 0; _i11 < _set9.size; ++_i11)
{
_elem10 = new PrepareMessage();
_elem10.read(iprot);
_elem7.add(_elem10);
}
iprot.readSetEnd();
}
struct.prepareMessages.add(_elem7);
}
iprot.readListEnd();
}
struct.setPrepareMessagesIsSet(true);
} else {
org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
}
break;
case 6: // REPLICA_ID
if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
struct.replicaID = iprot.readI32();
struct.setReplicaIDIsSet(true);
} else {
org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
}
break;
case 7: // MESSAGE_SIGNATURE
if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
struct.messageSignature = iprot.readBinary();
struct.setMessageSignatureIsSet(true);
} else {
org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
}
break;
default:
org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
}
iprot.readFieldEnd();
}
iprot.readStructEnd();
// check for required fields of primitive type, which can't be checked in the validate method
struct.validate();
}
public void write(org.apache.thrift.protocol.TProtocol oprot, ViewChangeMessage struct) throws org.apache.thrift.TException {
struct.validate();
oprot.writeStructBegin(STRUCT_DESC);
oprot.writeFieldBegin(NEW_VIEW_ID_FIELD_DESC);
oprot.writeI32(struct.newViewID);
oprot.writeFieldEnd();
oprot.writeFieldBegin(SEQUENCE_NUMBER_FIELD_DESC);
oprot.writeI32(struct.sequenceNumber);
oprot.writeFieldEnd();
if (struct.checkpointProof != null) {
oprot.writeFieldBegin(CHECKPOINT_PROOF_FIELD_DESC);
{
oprot.writeSetBegin(new org.apache.thrift.protocol.TSet(org.apache.thrift.protocol.TType.STRUCT, struct.checkpointProof.size()));
for (CheckpointMessage _iter12 : struct.checkpointProof)
{
_iter12.write(oprot);
}
oprot.writeSetEnd();
}
oprot.writeFieldEnd();
}
if (struct.preparedGreaterThanSequenceNumber != null) {
oprot.writeFieldBegin(PREPARED_GREATER_THAN_SEQUENCE_NUMBER_FIELD_DESC);
{
oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.preparedGreaterThanSequenceNumber.size()));
for (PrePrepareMessage _iter13 : struct.preparedGreaterThanSequenceNumber)
{
_iter13.write(oprot);
}
oprot.writeListEnd();
}
oprot.writeFieldEnd();
}
if (struct.prepareMessages != null) {
oprot.writeFieldBegin(PREPARE_MESSAGES_FIELD_DESC);
{
oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.SET, struct.prepareMessages.size()));
for (Set<PrepareMessage> _iter14 : struct.prepareMessages)
{
{
oprot.writeSetBegin(new org.apache.thrift.protocol.TSet(org.apache.thrift.protocol.TType.STRUCT, _iter14.size()));
for (PrepareMessage _iter15 : _iter14)
{
_iter15.write(oprot);
}
oprot.writeSetEnd();
}
}
oprot.writeListEnd();
}
oprot.writeFieldEnd();
}
oprot.writeFieldBegin(REPLICA_ID_FIELD_DESC);
oprot.writeI32(struct.replicaID);
oprot.writeFieldEnd();
if (struct.messageSignature != null) {
oprot.writeFieldBegin(MESSAGE_SIGNATURE_FIELD_DESC);
oprot.writeBinary(struct.messageSignature);
oprot.writeFieldEnd();
}
oprot.writeFieldStop();
oprot.writeStructEnd();
}
}
private static class ViewChangeMessageTupleSchemeFactory implements SchemeFactory {
public ViewChangeMessageTupleScheme getScheme() {
return new ViewChangeMessageTupleScheme();
}
}
private static class ViewChangeMessageTupleScheme extends TupleScheme<ViewChangeMessage> {
@Override
public void write(org.apache.thrift.protocol.TProtocol prot, ViewChangeMessage struct) throws org.apache.thrift.TException {
TTupleProtocol oprot = (TTupleProtocol) prot;
BitSet optionals = new BitSet();
if (struct.isSetNewViewID()) {
optionals.set(0);
}
if (struct.isSetSequenceNumber()) {
optionals.set(1);
}
if (struct.isSetCheckpointProof()) {
optionals.set(2);
}
if (struct.isSetPreparedGreaterThanSequenceNumber()) {
optionals.set(3);
}
if (struct.isSetPrepareMessages()) {
optionals.set(4);
}
if (struct.isSetReplicaID()) {
optionals.set(5);
}
if (struct.isSetMessageSignature()) {
optionals.set(6);
}
oprot.writeBitSet(optionals, 7);
if (struct.isSetNewViewID()) {
oprot.writeI32(struct.newViewID);
}
if (struct.isSetSequenceNumber()) {
oprot.writeI32(struct.sequenceNumber);
}
if (struct.isSetCheckpointProof()) {
{
oprot.writeI32(struct.checkpointProof.size());
for (CheckpointMessage _iter16 : struct.checkpointProof)
{
_iter16.write(oprot);
}
}
}
if (struct.isSetPreparedGreaterThanSequenceNumber()) {
{
oprot.writeI32(struct.preparedGreaterThanSequenceNumber.size());
for (PrePrepareMessage _iter17 : struct.preparedGreaterThanSequenceNumber)
{
_iter17.write(oprot);
}
}
}
if (struct.isSetPrepareMessages()) {
{
oprot.writeI32(struct.prepareMessages.size());
for (Set<PrepareMessage> _iter18 : struct.prepareMessages)
{
{
oprot.writeI32(_iter18.size());
for (PrepareMessage _iter19 : _iter18)
{
_iter19.write(oprot);
}
}
}
}
}
if (struct.isSetReplicaID()) {
oprot.writeI32(struct.replicaID);
}
if (struct.isSetMessageSignature()) {
oprot.writeBinary(struct.messageSignature);
}
}
@Override
public void read(org.apache.thrift.protocol.TProtocol prot, ViewChangeMessage struct) throws org.apache.thrift.TException {
TTupleProtocol iprot = (TTupleProtocol) prot;
BitSet incoming = iprot.readBitSet(7);
if (incoming.get(0)) {
struct.newViewID = iprot.readI32();
struct.setNewViewIDIsSet(true);
}
if (incoming.get(1)) {
struct.sequenceNumber = iprot.readI32();
struct.setSequenceNumberIsSet(true);
}
if (incoming.get(2)) {
{
org.apache.thrift.protocol.TSet _set20 = new org.apache.thrift.protocol.TSet(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
struct.checkpointProof = new HashSet<CheckpointMessage>(2*_set20.size);
CheckpointMessage _elem21;
for (int _i22 = 0; _i22 < _set20.size; ++_i22)
{
_elem21 = new CheckpointMessage();
_elem21.read(iprot);
struct.checkpointProof.add(_elem21);
}
}
struct.setCheckpointProofIsSet(true);
}
if (incoming.get(3)) {
{
org.apache.thrift.protocol.TList _list23 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
struct.preparedGreaterThanSequenceNumber = new ArrayList<PrePrepareMessage>(_list23.size);
PrePrepareMessage _elem24;
for (int _i25 = 0; _i25 < _list23.size; ++_i25)
{
_elem24 = new PrePrepareMessage();
_elem24.read(iprot);
struct.preparedGreaterThanSequenceNumber.add(_elem24);
}
}
struct.setPreparedGreaterThanSequenceNumberIsSet(true);
}
if (incoming.get(4)) {
{
org.apache.thrift.protocol.TList _list26 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.SET, iprot.readI32());
struct.prepareMessages = new ArrayList<Set<PrepareMessage>>(_list26.size);
Set<PrepareMessage> _elem27;
for (int _i28 = 0; _i28 < _list26.size; ++_i28)
{
{
org.apache.thrift.protocol.TSet _set29 = new org.apache.thrift.protocol.TSet(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
_elem27 = new HashSet<PrepareMessage>(2*_set29.size);
PrepareMessage _elem30;
for (int _i31 = 0; _i31 < _set29.size; ++_i31)
{
_elem30 = new PrepareMessage();
_elem30.read(iprot);
_elem27.add(_elem30);
}
}
struct.prepareMessages.add(_elem27);
}
}
struct.setPrepareMessagesIsSet(true);
}
if (incoming.get(5)) {
struct.replicaID = iprot.readI32();
struct.setReplicaIDIsSet(true);
}
if (incoming.get(6)) {
struct.messageSignature = iprot.readBinary();
struct.setMessageSignatureIsSet(true);
}
}
}
}