Interface ByteSupplier

All Superinterfaces:
AutoCloseable
All Known Implementing Classes:
BoundaryByteSupplier, BufferedInputStreamByteSupplier, ByteArrayByteSupplier, ByteInputByteSupplier, CacheByteSupplier, FixedLengthByteSupplier, InputStreamByteSupplier, NonClosingByteSupplier, SequenceByteSupplier

public interface ByteSupplier extends AutoCloseable
ByteSupplier
Version:
0.0.1
Author:
scx567888
  • Method Summary

    Modifier and Type
    Method
    Description
    default void
     
    get()
    • 必须是推进式的阻塞拉取
  • Method Details

    • get

      ByteChunk get() throws Exception
      • 必须是推进式的阻塞拉取
      • 如果当前已经读取到有效数据 -> 返回 ByteChunk(len > 0)
      • 如果暂时无法输出数据, 但 I/O 状态确实推进了 -> 返回 EMPTY_BYTE_CHUNK
      • 如果 EOF 且不会再产生数据 -> 返回 null
      • 不允许无状态的空循环: 供应者不得无意义地连续返回 EMPTY_BYTE_CHUNK
      • 连续多次调用 get() 必须使底层数据源或解码状态单调推进
      Throws:
      Exception
    • close

      default void close() throws Exception
      Specified by:
      close in interface AutoCloseable
      Throws:
      Exception