@Override public boolean feed(ByteBuf buffer, boolean isLast) throws Exception { return feedableBodyGenerator.feed(buffer, isLast); }
@Override public void onComplete() { try { feeder.feed(Unpooled.EMPTY_BUFFER, true); } catch (Exception e) { LOGGER.info("Ignoring exception occurred while completing stream processing.", e); this.subscription.cancel(); } } }
@Override public void onNext(ByteBuf b) { assertNotNull(b, "bytebuf"); try { feeder.feed(b, false); } catch (Exception e) { LOGGER.error("Exception occurred while processing element in stream.", e); subscription.cancel(); } }
private void feed(FeedableBodyGenerator feedableBodyGenerator, InputStream is) throws Exception { try (InputStream inputStream = is) { byte[] buffer = new byte[512]; for (int i; (i = inputStream.read(buffer)) > -1; ) { byte[] chunk = new byte[i]; System.arraycopy(buffer, 0, chunk, 0, i); feedableBodyGenerator.feed(Unpooled.wrappedBuffer(chunk), false); } } feedableBodyGenerator.feed(Unpooled.EMPTY_BUFFER, true); }
@Override public void feed(ByteBuffer buffer, boolean isLast) { feedableBodyGenerator.feed(buffer, isLast); }
@Override public void onNext(ByteBuffer t) { if (t == null) throw null; try { feeder.feed(t, false); } catch (Exception e) { LOGGER.error("Exception occurred while processing element in stream.", e); subscription.cancel(); } }
@Override public void onComplete() { try { feeder.feed(EMPTY, true); } catch (Exception e) { LOGGER.info("Ignoring exception occurred while completing stream processing.", e); this.subscription.cancel(); } } }