Class AIOSequentialFileFactory

    • Constructor Detail

      • AIOSequentialFileFactory

        public AIOSequentialFileFactory​(File journalDir,
                                        int maxIO)
      • AIOSequentialFileFactory

        public AIOSequentialFileFactory​(File journalDir,
                                        int bufferSize,
                                        int bufferTimeout,
                                        int maxIO,
                                        boolean logRates)
    • Method Detail

      • beforeClose

        public void beforeClose()
      • afterClose

        public void afterClose()
      • enableBufferReuse

        public void enableBufferReuse()
      • disableBufferReuse

        public void disableBufferReuse()
      • isSupportsCallbacks

        public boolean isSupportsCallbacks()
      • isSupported

        public static boolean isSupported()
      • isSupported

        public static boolean isSupported​(File journalPath)
      • allocateDirectBuffer

        public ByteBuffer allocateDirectBuffer​(int size)
        Description copied from interface: SequentialFileFactory
        used for cases where you need direct buffer outside of the journal context. This is because the native layer has a method that can be reused in certain cases like paging
      • releaseDirectBuffer

        public void releaseDirectBuffer​(ByteBuffer buffer)
        Description copied from interface: SequentialFileFactory
        used for cases where you need direct buffer outside of the journal context. This is because the native layer has a method that can be reused in certain cases like paging
      • newBuffer

        public ByteBuffer newBuffer​(int size)
        Description copied from interface: SequentialFileFactory
        Note: You need to release the buffer if is used for reading operations. You don't need to do it if using writing operations (AIO Buffer Lister will take of writing operations)
        Returns:
        the allocated ByteBuffer
      • newBuffer

        public ByteBuffer newBuffer​(int size,
                                    boolean zeroed)
        Description copied from interface: SequentialFileFactory
        Note: You need to release the buffer if is used for reading operations. You don't need to do it if using writing operations (AIO Buffer Lister will take of writing operations)
        zeroed - if true the returned ByteBuffer must be zeroed, otherwise it tries to save zeroing it.
        Returns:
        the allocated ByteBuffer
      • clearBuffer

        public void clearBuffer​(ByteBuffer directByteBuffer)
      • wrapBuffer

        public ByteBuffer wrapBuffer​(byte[] bytes)
      • calculateBlockSize

        public int calculateBlockSize​(int position)