@Override public void doSend(@NonNull ByteBuffer data) throws IOException { synchronized (lock) { while (data.hasRemaining()) { if (batch.hasRemaining()) { ByteBufferUtils.put(data, batch); } if (!batch.hasRemaining()) { batch.flip(); while (batch.hasRemaining()) { next().doSend(batch); } batch.clear(); } } } }
ByteBufferUtils.put(data, headerInputLength); if (headerInputLength.hasRemaining()) { if (LOGGER.isLoggable(Level.FINEST)) { ByteBufferUtils.put(data, headerInputContent); if (headerInputContent.hasRemaining()) { if (LOGGER.isLoggable(Level.FINEST)) { ByteBufferUtils.put(data, abortConfirmationInput); ByteBufferUtils.put(data, responseInputLength); if (responseInputLength.hasRemaining()) { return; ByteBufferUtils.put(data, responseInputContent); if (responseInputContent.hasRemaining()) { if (LOGGER.isLoggable(Level.FINEST)) {
ByteBufferUtils.put(data, recvAck); if (recvAck.hasRemaining()) { if (!receivedPartialAck()) {