public abstract class BufferManagingRebufferer extends java.lang.Object implements Rebufferer, Rebufferer.BufferHolder
Modifier and Type | Class and Description |
---|---|
static class |
BufferManagingRebufferer.Aligned |
static class |
BufferManagingRebufferer.Unaligned |
Rebufferer.BufferHolder
Modifier and Type | Field and Description |
---|---|
protected java.nio.ByteBuffer |
buffer |
protected long |
offset |
protected ChunkReader |
source |
EMPTY
Modifier | Constructor and Description |
---|---|
protected |
BufferManagingRebufferer(ChunkReader wrapped) |
Modifier and Type | Method and Description |
---|---|
java.nio.ByteBuffer |
buffer()
Returns a useable buffer (i.e.
|
ChannelProxy |
channel() |
void |
close() |
void |
closeReader()
Called when a reader is closed.
|
long |
fileLength() |
double |
getCrcCheckChance()
Needed for tests.
|
long |
offset()
Position in the file of the start of the buffer.
|
Rebufferer.BufferHolder |
rebuffer(long position)
Rebuffer (move on or seek to) a given position, and return a buffer that can be used there.
|
void |
release()
To be called when this buffer is no longer in use.
|
java.lang.String |
toString() |
protected final ChunkReader source
protected final java.nio.ByteBuffer buffer
protected long offset
protected BufferManagingRebufferer(ChunkReader wrapped)
public void closeReader()
Rebufferer
closeReader
in interface Rebufferer
public void close()
close
in interface java.lang.AutoCloseable
close
in interface ReaderFileProxy
public ChannelProxy channel()
channel
in interface ReaderFileProxy
public long fileLength()
fileLength
in interface ReaderFileProxy
public Rebufferer.BufferHolder rebuffer(long position)
Rebufferer
offset <= position < offset + bh.buffer().limit()
, but the buffer will not be positioned there.rebuffer
in interface Rebufferer
public double getCrcCheckChance()
ReaderFileProxy
getCrcCheckChance
in interface ReaderFileProxy
public java.lang.String toString()
toString
in class java.lang.Object
public java.nio.ByteBuffer buffer()
Rebufferer.BufferHolder
buffer
in interface Rebufferer.BufferHolder
public long offset()
Rebufferer.BufferHolder
offset
in interface Rebufferer.BufferHolder
public void release()
Rebufferer.BufferHolder
release
in interface Rebufferer.BufferHolder
Copyright © 2009-2022 The Apache Software Foundation