public void contentAvailable(ContentDecoder decoder, IOControl ioctrl) throws IOException { long transferred; if (useFileChannels && decoder instanceof FileContentDecoder) { transferred = ((FileContentDecoder) decoder).transfer(fileChannel, idx, Long.MAX_VALUE); } else { transferred = fileChannel.transferFrom(new ContentDecoderChannel(decoder), idx, Long.MAX_VALUE); } if (transferred > 0) idx += transferred; }
public void contentAvailable(ContentDecoder decoder, IOControl ioctrl) throws IOException { long transferred; if (useFileChannels && decoder instanceof FileContentDecoder) { transferred = ((FileContentDecoder) decoder).transfer(fileChannel, idx, Long.MAX_VALUE); } else { transferred = fileChannel.transferFrom(new ContentDecoderChannel(decoder), idx, Long.MAX_VALUE); } if (transferred > 0) idx += transferred; }
public void contentAvailable(ContentDecoder decoder, IOControl ioctrl) throws IOException { long transferred; if (useFileChannels && decoder instanceof FileContentDecoder) { transferred = ((FileContentDecoder) decoder).transfer(fileChannel, idx, Long.MAX_VALUE); } else { transferred = fileChannel.transferFrom(new ContentDecoderChannel(decoder), idx, Long.MAX_VALUE); } if (transferred > 0) idx += transferred; }
logger.debug("consuming content"); if (follower == null) { ReadableByteChannel delegate = new ContentDecoderChannel(contentDecoder); follower = followerFactory.apply(new ReadableByteChannelMaster() { @Override
@Override protected void onContentReceived(final ContentDecoder decoder, final IOControl ioctrl) throws IOException { Asserts.notNull(this.fileChannel, "File channel"); final long transferred; if (decoder instanceof FileContentDecoder) { transferred = ((FileContentDecoder) decoder).transfer(this.fileChannel, this.fileStreamIdx, Integer.MAX_VALUE); } else { transferred = this.fileChannel.transferFrom(new ContentDecoderChannel(decoder), this.fileStreamIdx, Integer.MAX_VALUE); } if (transferred > 0) { this.fileStreamIdx += transferred; this.downloadedBytes += transferred; } if (decoder.isCompleted()) { this.fileChannel.close(); } }