Class CBuffPagedData

    • Field Detail

      • pageSize

        protected final int pageSize
      • maxSize

        protected long maxSize
      • resizeable

        protected boolean resizeable
    • Constructor Detail

      • CBuffPagedData

        public CBuffPagedData​(ContentBuffer cbuff,
                              int pageSize,
                              boolean resizeable,
                              long maxSize)
    • Method Detail

      • memoryInfo

        public UsedPagesInfo memoryInfo()
        Description copied from interface: PagedData
        Получение информации о памяти
        Specified by:
        memoryInfo in interface PagedData
        Returns:
        Получение информации о памяти
      • readPage

        public byte[] readPage​(int page)
        Description copied from interface: PagedData
        Чтение страницы
        Specified by:
        readPage in interface PagedData
        Parameters:
        page - индекс страницы, от 0 и более
        Returns:
        массив байтов, по размеру равный UsedPagesInfo.pageSize() или меньше, если последняя страница
      • writePage

        public void writePage​(int page,
                              byte[] data)
        Description copied from interface: PagedData
        Запись страницы
        Specified by:
        writePage in interface PagedData
        Parameters:
        page - индекс страницы, от 0 и более
        data - массив байтов, размер не должен превышать UsedPagesInfo.pageSize()
      • flush

        public void flush()
        Description copied from interface: Flushable
        Принудительная запись накопившийся изменений на диск/носитель информации
        Specified by:
        flush in interface Flushable
      • extendPages

        public xyz.cofe.fn.Tuple2<UsedPagesInfo,​UsedPagesInfo> extendPages​(int pages)
        Description copied from interface: ExtendablePages
        Расширение кол-ва используемых страниц
        Specified by:
        extendPages in interface ExtendablePages
        Parameters:
        pages - сколько страниц нужно добавить
        Returns:
        Сколько было и сколько стало памяти
      • reducePages

        public xyz.cofe.fn.Tuple2<UsedPagesInfo,​UsedPagesInfo> reducePages​(int pages)
        Description copied from interface: ReduciblePages
        Уменьшение кол-ва используемых страниц
        Specified by:
        reducePages in interface ReduciblePages
        Parameters:
        pages - сколько страниц нужно убрать
        Returns:
        Сколько было и сколько стало памяти