/** * 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); } } } }