我想将InputStream
转换为一系列帧。如果我正确理解代码,gloss.io/lazy-decode-all
急切地消耗它的第二个参数,这在我的情况下不是一个选项。
我已经找到了使用aleph/input-stream->channel
,decode-channel
和lamina.core.operators/channel->lazy-seq
执行此操作的方法,但对于这样一项常见任务来说,这看起来有点太多了。此外,我对此方案中的性能有点关注:应用程序将提供数GB的数据。
我可以手动将帧读入ByteBuffer
和decode
,但它们具有动态长度,因此我将复制大部分光泽逻辑。
是否有一些简洁的方法可以懒惰地解码流?