protected HttpData fetchDecoderOutput() {
        ByteBuf decoded = null;
        for (;;) {
            final ByteBuf buf = decoder.readInbound();
            if (buf == null) {
                break;
            }
            if (!buf.isReadable()) {
                buf.release();
                continue;
            }
            maybeCheckOverflow(decoded, buf);
            if (decoded == null) {
                decoded = buf;
            } else {
                try {
                    decoded.writeBytes(buf);
                } finally {
                    buf.release();
                }
            }
        }

        if (decoded == null) {
            return HttpData.empty();
        }

        return HttpData.wrap(decoded);
    }
Skeletal {@link StreamDecoder} implementation. Netty implementation used to allow
for incremental decoding using an {@link EmbeddedChannel}.
core/src/main/java/com/linecorp/armeria/common/encoding/AbstractStreamDecoder.java