class FileChannelVol : VolumeVolume which uses FileChannel. Uses global lock and does not use mapped memory.
| <init> |
FileChannelVol(file: File, readOnly: Boolean, fileLockWait: Long, sliceShift: Int, initSize: Long)FileChannelVol(file: File) |
| FACTORY |
static val FACTORY: VolumeFactory |
| UNSAFE_VOL_FACTORY |
static val UNSAFE_VOL_FACTORY: VolumeFactoryIf |
| clear |
fun clear(startOffset: Long, endOffset: Long): Unitstatic fun clear(channel: FileChannel, startOffset: Long, endOffset: Long): Unit |
| close |
fun close(): Unit |
| ensureAvailable |
fun ensureAvailable(offset: Long): Unit |
| getByte |
fun getByte(offset: Long): Byte |
| getData |
fun getData(offset: Long, bytes: ByteArray, bytesPos: Int, size: Int): Unit |
| getDataInput |
fun getDataInput(offset: Long, size: Int): ByteBuffer |
| getFile |
fun getFile(): File |
| getFileLocked |
fun getFileLocked(): Boolean |
| getInt |
fun getInt(offset: Long): Int |
| getLong |
fun getLong(offset: Long): Long |
| isReadOnly |
fun isReadOnly(): Boolean |
| isSliced |
fun isSliced(): Boolean |
| length |
fun length(): Long |
| putByte |
fun putByte(offset: Long, value: Byte): Unit |
| putData |
fun putData(offset: Long, src: ByteArray, srcPos: Int, srcSize: Int): Unitfun putData(offset: Long, buf: ByteBuffer): Unit |
| putInt |
fun putInt(offset: Long, value: Int): Unit |
| putLong |
fun putLong(offset: Long, value: Long): Unit |
| sliceSize |
fun sliceSize(): Int |
| sync |
fun sync(): Unit |
| truncate |
fun truncate(size: Long): Unit |
| assertZeroes |
open fun assertZeroes(startOffset: Long, endOffset: Long): UnitCheck that all bytes between given offsets are zero. This might cross 1MB boundaries |
| clearOverlap |
open fun clearOverlap(startOffset: Long, endOffset: Long): Unit |
| copyFrom |
open fun copyFrom(input: InputStream): UnitCopy content from InputStream into this Volume. |
| copyTo |
open fun copyTo(inputOffset: Long, target: Volume, targetOffset: Long, size: Long): UnitTransfers data from this Volume into target volume. If its possible, the implementation should override this method to enable direct memory transfer. Caller must respect slice boundaries. ie it is not possible to transfer data which cross slice boundaries. open fun copyTo(to: Volume): UnitCopy content of this volume to another. Target volume might grow, but is never shrank. Target is also not synced open fun copyTo(output: OutputStream): UnitCopy content of this volume to OutputStream. |
| deleteFile |
open fun deleteFile(): Unit |
| fileLoad |
open fun fileLoad(): Boolean If underlying storage is memory-mapped-file, this method will try to load and precache all file data into disk cache. Most likely it will call |
| getDataInputOverlap |
open fun getDataInputOverlap(offset: Long, size: Int): DataInput2 |
| getPackedLong |
open fun getPackedLong(position: Long): LongUnpack long value from the Volume. Highest 4 bits reused to indicate number of bytes read from Volume. One can use |
| getSixLong |
open fun getSixLong(pos: Long): Long |
| getUnsignedByte |
open fun getUnsignedByte(offset: Long): Int |
| getUnsignedShort |
open fun getUnsignedShort(offset: Long): Int |
| hash |
open fun hash(off: Long, len: Long, seed: Long): LongCalculates XXHash64 from this Volume content. |
| isClosed |
open fun isClosed(): Boolean |
| putDataOverlap |
open fun putDataOverlap(offset: Long, src: ByteArray, srcPos: Int, srcSize: Int): Unit |
| putPackedLong |
open fun putPackedLong(pos: Long, value: Long): IntPut packed long at given position. |
| putSixLong |
open fun putSixLong(pos: Long, value: Long): Unit |
| putUnsignedByte |
open fun putUnsignedByte(offset: Long, b: Int): Unit |
| putUnsignedShort |
open fun putUnsignedShort(offset: Long, value: Int): Unit |