+ public final void readExternal(final ObjectInput in) throws IOException, ClassNotFoundException {
+ super.readExternal(in);
+ executionTimeNanos = WritableObjects.readLong(in);
+ }
+
+ @Override
+ final ResponseEnvelope<T> createEnvelope(final T message, final long sessionId, final long txSequence) {
+ return createEnvelope(message, sessionId, txSequence, executionTimeNanos);
+ }
+
+ abstract ResponseEnvelope<T> createEnvelope(T message, long sessionId, long txSequence, long executionTimeNanos);