Package org.h2.mvstore.cache
Class FilePathCache.FileCache
java.lang.Object
java.nio.channels.spi.AbstractInterruptibleChannel
java.nio.channels.FileChannel
org.h2.store.fs.FileBase
org.h2.mvstore.cache.FilePathCache.FileCache
- All Implemented Interfaces:
Closeable
,AutoCloseable
,ByteChannel
,Channel
,GatheringByteChannel
,InterruptibleChannel
,ReadableByteChannel
,ScatteringByteChannel
,SeekableByteChannel
,WritableByteChannel
- Enclosing class:
FilePathCache
A file with a read cache.
-
Nested Class Summary
Nested classes/interfaces inherited from class java.nio.channels.FileChannel
FileChannel.MapMode
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final FileChannel
private final CacheLongKeyLIRS
<ByteBuffer> private static final int
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate void
clearCache
(ByteBuffer src, long position) void
force
(boolean metaData) private static long
getCachePos
(long pos) protected void
long
position()
position
(long newPosition) int
read
(ByteBuffer dst) int
read
(ByteBuffer dst, long position) long
size()
toString()
truncate
(long newSize) tryLock
(long position, long size, boolean shared) int
write
(ByteBuffer src) int
write
(ByteBuffer src, long position) Methods inherited from class org.h2.store.fs.FileBase
lock, map, read, transferFrom, transferTo, write
Methods inherited from class java.nio.channels.FileChannel
lock, map, open, open, read, tryLock, write
Methods inherited from class java.nio.channels.spi.AbstractInterruptibleChannel
begin, close, end, isOpen
-
Field Details
-
CACHE_BLOCK_SIZE
private static final int CACHE_BLOCK_SIZE- See Also:
-
base
-
cache
-
-
Constructor Details
-
FileCache
FileCache(FileChannel base)
-
-
Method Details
-
implCloseChannel
- Overrides:
implCloseChannel
in classFileBase
- Throws:
IOException
-
position
- Specified by:
position
in interfaceSeekableByteChannel
- Specified by:
position
in classFileChannel
- Throws:
IOException
-
position
- Specified by:
position
in interfaceSeekableByteChannel
- Specified by:
position
in classFileChannel
- Throws:
IOException
-
read
- Specified by:
read
in interfaceReadableByteChannel
- Specified by:
read
in interfaceSeekableByteChannel
- Specified by:
read
in classFileChannel
- Throws:
IOException
-
read
- Overrides:
read
in classFileBase
- Throws:
IOException
-
getCachePos
private static long getCachePos(long pos) -
size
- Specified by:
size
in interfaceSeekableByteChannel
- Specified by:
size
in classFileChannel
- Throws:
IOException
-
truncate
- Specified by:
truncate
in interfaceSeekableByteChannel
- Specified by:
truncate
in classFileChannel
- Throws:
IOException
-
write
- Overrides:
write
in classFileBase
- Throws:
IOException
-
write
- Specified by:
write
in interfaceSeekableByteChannel
- Specified by:
write
in interfaceWritableByteChannel
- Specified by:
write
in classFileChannel
- Throws:
IOException
-
clearCache
-
force
- Overrides:
force
in classFileBase
- Throws:
IOException
-
tryLock
- Overrides:
tryLock
in classFileBase
- Throws:
IOException
-
toString
-