Class MemPagedData

    • Field Detail

      • pageSize

        protected int pageSize
      • buffer

        protected byte[] buffer
      • dataSize

        protected int dataSize
      • maxPages

        protected int maxPages
    • Constructor Detail

      • MemPagedData

        public MemPagedData​(int pageSize,
                            int capacity,
                            byte[] buffer,
                            int dataSize)
      • MemPagedData

        public MemPagedData​(int pageSize,
                            int capacity)
    • Method Detail

      • memoryInfo

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

        public byte[] readPage​(int page)
        Description copied from interface: PagedData
        Чтение страницы
        Specified by:
        readPage in interface PagedData<UsedPagesInfo>
        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<UsedPagesInfo>
        Parameters:
        page - индекс страницы, от 0 и более
        data - массив байтов, размер не должен превышать UsedPagesInfo.pageSize()
      • extendPages

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