outputStream.updateWritten(remaining - buffer.remaining()); if (ok) { return;
long count = source.size() - position; Channels.transferBlocking(channel, source, position, count); updateWritten(count); } else { setFlags(FLAG_WRITE_STARTED);
updateWritten(len); } else { if (anyAreClear(state, FLAG_READY)) {
int remaining = buffer.remaining(); CoderResult result = charsetEncoder.encode(cb, buffer, false); outputStream.updateWritten(remaining - buffer.remaining()); if (result.isOverflow() || !buffer.hasRemaining()) { outputStream.flushInternal();
outputStream.updateWritten(remaining - buffer.remaining()); if (ok) { return;
/** * {@inheritDoc} */ public void write(final byte[] b, final int off, final int len) throws IOException { if (anyAreSet(state, FLAG_CLOSED) || servletRequestContext.getOriginalResponse().isTreatAsCommitted()) { throw UndertowServletMessages.MESSAGES.streamIsClosed(); } if (len < 1) { return; } if (listener == null) { ByteBuffer buffer = buffer(); if (buffer.remaining() < len) { writeTooLargeForBuffer(b, off, len, buffer); } else { buffer.put(b, off, len); if (buffer.remaining() == 0) { writeBufferBlocking(false); } } updateWritten(len); } else { writeAsync(b, off, len); } }