private static final long serialVersionUID = 1L;
private T target;
private long sequence;
- private long retry;
protected AbstractMessageProxy() {
// For Externalizable
}
- AbstractMessageProxy(final @Nonnull C message) {
+ AbstractMessageProxy(@Nonnull final C message) {
this.target = message.getTarget();
this.sequence = message.getSequence();
- this.retry = message.getRetry();
}
@Override
public void writeExternal(final ObjectOutput out) throws IOException {
target.writeTo(out);
- WritableObjects.writeLongs(out, sequence, retry);
+ WritableObjects.writeLong(out, sequence);
}
@Override
public void readExternal(final ObjectInput in) throws IOException, ClassNotFoundException {
target = Verify.verifyNotNull(readTarget(in));
-
- final byte header = WritableObjects.readLongHeader(in);
- sequence = WritableObjects.readFirstLong(in, header);
- retry = WritableObjects.readSecondLong(in, header);
+ sequence = WritableObjects.readLong(in);
}
protected final Object readResolve() {
- return Verify.verifyNotNull(createMessage(target, sequence, retry));
+ return Verify.verifyNotNull(createMessage(target, sequence));
}
- protected abstract @Nonnull T readTarget(@Nonnull DataInput in) throws IOException;
- abstract @Nonnull C createMessage(@Nonnull T target, long sequence, long retry);
-}
\ No newline at end of file
+ @Nonnull
+ protected abstract T readTarget(@Nonnull DataInput in) throws IOException;
+
+ @Nonnull
+ abstract C createMessage(@Nonnull T msgTarget, long msgSequence);
+}