Package alluxio.worker.block.io
Class BlockReadableChannel
- java.lang.Object
-
- alluxio.worker.block.io.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 forBlockReader
s.
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, callingread(ByteBuffer)
will advance the internal position of the block reader, and subsequent calls toBlockReader.transferTo(ByteBuf)
will start from where the channel was left off.
-
-
Constructor Summary
Constructors Constructor Description BlockReadableChannel(BlockReader reader)
Creates a new channel from a block reader.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
close()
boolean
isOpen()
int
read(java.nio.ByteBuffer dst)
-
-
-
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 interfacejava.nio.channels.ReadableByteChannel
- Throws:
java.io.IOException
-
isOpen
public boolean isOpen()
- Specified by:
isOpen
in interfacejava.nio.channels.Channel
-
close
public void close() throws java.io.IOException
- Specified by:
close
in interfacejava.lang.AutoCloseable
- Specified by:
close
in interfacejava.nio.channels.Channel
- Specified by:
close
in interfacejava.io.Closeable
- Throws:
java.io.IOException
-
-