/** * Post 7.1, if changes are made to this method make sure that it is backwards compatible by * creating toDataPreXX methods. Also make sure that the callers to this method are backwards * compatible by creating toDataPreXX methods for them even if they are not changed. <br> * Callers for this method are: <br> * SendQueueMessage.toData(DataOutput) <br> */ public void toData(DataOutput out) throws IOException { out.writeByte(this.op.ordinal); DataSerializer.writeObject(this.cbArg, out); if (this.op.isEntry()) { DataSerializer.writeObject(this.key, out); if (this.op.isUpdate() || this.op.isCreate()) { out.writeByte(this.deserializationPolicy); if (this.deserializationPolicy != DistributedCacheOperation.DESERIALIZATION_POLICY_EAGER) { DataSerializer.writeByteArray(this.value, out); } else { DataSerializer.writeObject(this.valueObj, out); } } } }
public static QueuedOperation createFromData(DataInput in) throws IOException, ClassNotFoundException { Operation op = Operation.fromOrdinal(in.readByte()); Object key = null; byte[] value = null; Object valueObj = null; byte deserializationPolicy = DistributedCacheOperation.DESERIALIZATION_POLICY_NONE; Object cbArg = DataSerializer.readObject(in); if (op.isEntry()) { key = DataSerializer.readObject(in); if (op.isUpdate() || op.isCreate()) { deserializationPolicy = in.readByte(); if (deserializationPolicy == DistributedCacheOperation.DESERIALIZATION_POLICY_EAGER) { valueObj = DataSerializer.readObject(in); } else { value = DataSerializer.readByteArray(in); } } } return new QueuedOperation(op, key, value, valueObj, deserializationPolicy, cbArg); }