@NotThreadSafe public class LocalCacheFileInStream extends FileInStream
FileInStream
that reads from a local cache if possible.Modifier and Type | Class and Description |
---|---|
static interface |
LocalCacheFileInStream.FileInStreamOpener
Interface to wrap open method of file system.
|
Modifier and Type | Field and Description |
---|---|
protected long |
mPageSize
Page size in bytes.
|
Constructor and Description |
---|
LocalCacheFileInStream(URIStatus status,
LocalCacheFileInStream.FileInStreamOpener fileOpener,
CacheManager cacheManager,
AlluxioConfiguration conf,
Optional<FileInStream> externalFileInStream)
Constructor when the
URIStatus is already available. |
Modifier and Type | Method and Description |
---|---|
void |
close() |
protected com.google.common.base.Stopwatch |
createUnstartedStopwatch() |
long |
getPos() |
int |
positionedRead(long pos,
byte[] b,
int off,
int len)
Reads up to the specified number of bytes, from a given position within a file, and return the
number of bytes read.
|
int |
read(byte[] bytesBuffer,
int offset,
int length) |
int |
read(ByteBuffer buffer,
int offset,
int length)
Reads up to len bytes of data from the input stream into the byte buffer.
|
static void |
registerMetrics()
Registers metrics.
|
long |
remaining() |
void |
seek(long pos)
Moves the starting read position of the stream to the specified position which is relative to
the start of the stream.
|
long |
skip(long n) |
void |
unbuffer()
Reduce the buffering.
|
read, read, read
available, mark, markSupported, reset
public LocalCacheFileInStream(URIStatus status, LocalCacheFileInStream.FileInStreamOpener fileOpener, CacheManager cacheManager, AlluxioConfiguration conf, Optional<FileInStream> externalFileInStream)
URIStatus
is already available.status
- file statusfileOpener
- open file in the external file system if a cache miss occurscacheManager
- local cache managerconf
- configurationexternalFileInStream
- public static void registerMetrics()
public int read(byte[] bytesBuffer, int offset, int length) throws IOException
read
in class FileInStream
IOException
public int read(ByteBuffer buffer, int offset, int length) throws IOException
FileInStream
read
in class FileInStream
buffer
- the buffer into which the data is readoffset
- the start offset in the buffer at which the data is writtenlength
- the maximum number of bytes to readIOException
protected com.google.common.base.Stopwatch createUnstartedStopwatch()
public long skip(long n)
skip
in class InputStream
public void close() throws IOException
close
in interface Closeable
close
in interface AutoCloseable
close
in class InputStream
IOException
public long remaining()
public int positionedRead(long pos, byte[] b, int off, int len) throws IOException
PositionedReadable
pos
- position within fileb
- destination bufferoff
- offset in the bufferlen
- number of bytes to readIOException
public long getPos()
public void seek(long pos)
Seekable
pos
- the position to seek to, it must be between 0 and the end of the stream - 1public void unbuffer()
CanUnbuffer
unbuffer
in interface CanUnbuffer
unbuffer
in class FileInStream
Copyright © 2023. All Rights Reserved.