default long writeHeader(@NotNull Wire wire, int safeLength, long timeoutMS, @Nullable final LongValue lastPosition, Sequence sequence) throws EOFException, UnrecoverableTimeoutException { try { return wire.writeHeaderOfUnknownLength(safeLength, timeoutMS, TimeUnit.MILLISECONDS, lastPosition, sequence); } catch (TimeoutException e) { return recoverAndWriteHeader(wire, timeoutMS, lastPosition, sequence); } }
@Override public long recoverAndWriteHeader(@NotNull Wire wire, long timeoutMS, @NotNull final LongValue lastPosition, Sequence sequence) throws UnrecoverableTimeoutException { Jvm.warn().on(getClass(), "Clearing an incomplete header so a header can be written"); wire.bytes().writeInt(0); wire.pauser().reset(); try { return wire.writeHeaderOfUnknownLength(timeoutMS, TimeUnit.MILLISECONDS, lastPosition, sequence); } catch (@NotNull TimeoutException | EOFException e) { throw new UnrecoverableTimeoutException(e); } } }
return wire.writeHeaderOfUnknownLength(timeoutMS, TimeUnit.MILLISECONDS, lastPosition, sequence);
default long writeHeader(@NotNull Wire wire, int safeLength, long timeoutMS, @Nullable final LongValue lastPosition, Sequence sequence) throws EOFException, UnrecoverableTimeoutException { try { return wire.writeHeaderOfUnknownLength(safeLength, timeoutMS, TimeUnit.MILLISECONDS, lastPosition, sequence); } catch (TimeoutException e) { return recoverAndWriteHeader(wire, timeoutMS, lastPosition, sequence); } }
@Override public long recoverAndWriteHeader(@NotNull Wire wire, long timeoutMS, @NotNull final LongValue lastPosition, Sequence sequence) throws UnrecoverableTimeoutException { Jvm.warn().on(getClass(), "Clearing an incomplete header so a header can be written"); wire.bytes().writeInt(0); wire.pauser().reset(); try { return wire.writeHeaderOfUnknownLength(timeoutMS, TimeUnit.MILLISECONDS, lastPosition, sequence); } catch (@NotNull TimeoutException | EOFException e) { throw new UnrecoverableTimeoutException(e); } } }
return wire.writeHeaderOfUnknownLength(timeoutMS, TimeUnit.MILLISECONDS, lastPosition, sequence);