Class BlockReadableChannel

  • All Implemented Interfaces:
    java.io.Closeable, java.lang.AutoCloseable, java.nio.channels.Channel, java.nio.channels.ReadableByteChannel

    @ThreadSafe
    public class BlockReadableChannel
    extends java.lang.Object
    implements java.nio.channels.ReadableByteChannel
    Readable channel implementation for BlockReaders.
    The channel can be safely read from multiple threads. Its closed state is independent of that of the block reader that created it. Its internal position is shared with the block reader, that is, calling read(ByteBuffer) will advance the internal position of the block reader, and subsequent calls to BlockReader.transferTo(ByteBuf) will start from where the channel was left off.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void close()  
      boolean isOpen()  
      int read​(java.nio.ByteBuffer dst)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • BlockReadableChannel

        public BlockReadableChannel​(BlockReader reader)
        Creates a new channel from a block reader.
        Parameters:
        reader - reader
    • Method Detail

      • read

        public int read​(java.nio.ByteBuffer dst)
                 throws java.io.IOException
        Specified by:
        read in interface java.nio.channels.ReadableByteChannel
        Throws:
        java.io.IOException
      • isOpen

        public boolean isOpen()
        Specified by:
        isOpen in interface java.nio.channels.Channel
      • close

        public void close()
                   throws java.io.IOException
        Specified by:
        close in interface java.lang.AutoCloseable
        Specified by:
        close in interface java.nio.channels.Channel
        Specified by:
        close in interface java.io.Closeable
        Throws:
        java.io.IOException