private void writeBuffer(ContentEncoder encoder) throws IOException { while (buffer.hasRemaining()) { final int written = encoder.write(buffer); logger.trace("written {} bytes to encoder.", written); if (written == 0) { logger.trace("Buffer still has remaining. {}", buffer); bufferHasRemainingData.set(true); return; } totalProduced += written; } bufferHasRemainingData.set(false); buffer.clear(); }
@Override public int write(final ByteBuffer src) throws IOException { return contentEncoder.write(src); }
@Override public int write(final ByteBuffer src) throws IOException { return contentEncoder.write(src); }
private boolean write(ByteBuffer buffer) throws IOException { final int toWrite = buffer.remaining(); // We should never do 0-length writes, see HSEARCH-2854 if ( toWrite == 0 ) { return true; } final int actuallyWritten = output.write( buffer ); return toWrite == actuallyWritten; }
private boolean write(ByteBuffer buffer) throws IOException { final int toWrite = buffer.remaining(); // We should never do 0-length writes, see HSEARCH-2854 if ( toWrite == 0 ) { return true; } final int actuallyWritten = output.write( buffer ); return toWrite == actuallyWritten; }
private boolean write(ByteBuffer buffer) throws IOException { final int toWrite = buffer.remaining(); // We should never do 0-length writes, see HSEARCH-2854 if ( toWrite == 0 ) { return true; } final int actuallyWritten = output.write( buffer ); return toWrite == actuallyWritten; }
private boolean write(ByteBuffer buffer) throws IOException { final int toWrite = buffer.remaining(); // We should never do 0-length writes, see HSEARCH-2854 if ( toWrite == 0 ) { return true; } final int actuallyWritten = output.write( buffer ); return toWrite == actuallyWritten; }
public boolean encodeTo(ContentEncoder encoder) throws IOException { encoder.write(buffer); return !buffer.hasRemaining(); }
@Override public void write(final int b) throws IOException { this.encoder.write(ByteBuffer.wrap(new byte[] { (byte) b })); }
@Override public void write(final byte[] b) throws IOException { this.encoder.write(ByteBuffer.wrap(b)); }
@Override public void write(final byte[] b, final int off, final int len) throws IOException { this.encoder.write(ByteBuffer.wrap(b, off, len)); }
@Override public void produceContent( final ContentEncoder encoder, final IOControl ioctrl) throws IOException { encoder.write(this.buf); if (!this.buf.hasRemaining()) { encoder.complete(); } }
@Override public void produceContent(final ContentEncoder encoder, final IOControl ioctrl) throws IOException { encoder.write(this.buf); if(!this.buf.hasRemaining()) { encoder.complete(); } }
@Override public void produceContent( final ContentEncoder encoder, final IOControl ioctrl) throws IOException { encoder.write(this.buf); if (!this.buf.hasRemaining()) { encoder.complete(); } }
@Override public void produceContent(final ContentEncoder encoder, final IOControl ioctrl) throws IOException { encoder.write(this.buf); if(!this.buf.hasRemaining()) { encoder.complete(); } }
@Override public void produceContent( final ContentEncoder encoder, final IOControl ioctrl) throws IOException { if (this.channel == null) { this.channel = Channels.newChannel(this.entity.getContent()); } final int i = this.channel.read(this.buffer); this.buffer.flip(); encoder.write(this.buffer); final boolean buffering = this.buffer.hasRemaining(); this.buffer.compact(); if (i == -1 && !buffering) { encoder.complete(); close(); } }
@Override public void produceContent( final ContentEncoder encoder, final IOControl ioctrl) throws IOException { if (this.channel == null) { this.channel = Channels.newChannel(this.entity.getContent()); } final int i = this.channel.read(this.buffer); this.buffer.flip(); encoder.write(this.buffer); final boolean buffering = this.buffer.hasRemaining(); this.buffer.compact(); if (i == -1 && !buffering) { encoder.complete(); close(); } }
public void produceContent(final ContentEncoder enc, final IOControl ioc) throws IOException { if (content != null) { if (buffer == null) { if (content.getTempFile() == null) { buffer = ByteBuffer.wrap(content.getBytes()); } else { fis = content.getInputStream(); chan = (fis instanceof FileInputStream) ? ((FileInputStream)fis).getChannel() : Channels.newChannel(fis); buffer = ByteBuffer.allocate(8 * 1024); } } int i = -1; buffer.rewind(); if (buffer.hasRemaining() && chan != null) { i = chan.read(buffer); buffer.flip(); } enc.write(buffer); if (!buffer.hasRemaining() && i == -1) { enc.complete(); } } else { buf.produceContent(enc, ioc); } }
@Override public int produceContent(final ContentEncoder encoder) throws IOException { setOutputMode(); final int bytesWritten = encoder.write(this.buffer); if (!hasData() && this.endOfStream) { encoder.complete(); } return bytesWritten; }
@Override public int produceContent(final ContentEncoder encoder) throws IOException { setOutputMode(); final int bytesWritten = encoder.write(this.buffer); if (!hasData() && this.endOfStream) { encoder.complete(); } return bytesWritten; }