Package xyz.cofe.cbuffer.page
Class SlowPagedData
- java.lang.Object
-
- xyz.cofe.cbuffer.page.SlowPagedData
-
- All Implemented Interfaces:
ExtendablePages<UsedPagesInfo>,PagedData<UsedPagesInfo>,ReduciblePages<UsedPagesInfo>,ResizablePages<UsedPagesInfo>
public class SlowPagedData extends Object implements ResizablePages<UsedPagesInfo>
-
-
Field Summary
Fields Modifier and Type Field Description protected longdelayprotected ResizablePages<UsedPagesInfo>target
-
Constructor Summary
Constructors Constructor Description SlowPagedData(ResizablePages resizablePages, long delay)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description xyz.cofe.fn.Tuple2<UsedPagesInfo,UsedPagesInfo>extendPages(int pages)Расширение кол-ва используемых страницUsedPagesInfomemoryInfo()Получение информации о памятиbyte[]readPage(int page)Чтение страницыxyz.cofe.fn.Tuple2<UsedPagesInfo,UsedPagesInfo>reducePages(int pages)Уменьшение кол-ва используемых страницxyz.cofe.fn.Tuple2<UsedPagesInfo,UsedPagesInfo>resizePages(int pages)Изменение кол-ва выделенных страницvoidwritePage(int page, byte[] data)Запись страницы
-
-
-
Field Detail
-
target
protected final ResizablePages<UsedPagesInfo> target
-
delay
protected final long delay
-
-
Constructor Detail
-
SlowPagedData
public SlowPagedData(ResizablePages resizablePages, long delay)
-
-
Method Detail
-
extendPages
public xyz.cofe.fn.Tuple2<UsedPagesInfo,UsedPagesInfo> extendPages(int pages)
Description copied from interface:ExtendablePagesРасширение кол-ва используемых страниц- Specified by:
extendPagesin interfaceExtendablePages<UsedPagesInfo>- Parameters:
pages- сколько страниц нужно добавить- Returns:
- Сколько было и сколько стало памяти
-
memoryInfo
public UsedPagesInfo memoryInfo()
Description copied from interface:PagedDataПолучение информации о памяти- Specified by:
memoryInfoin interfacePagedData<UsedPagesInfo>- Returns:
- Получение информации о памяти
-
readPage
public byte[] readPage(int page)
Description copied from interface:PagedDataЧтение страницы- Specified by:
readPagein interfacePagedData<UsedPagesInfo>- Parameters:
page- индекс страницы, от 0 и более- Returns:
- массив байтов, по размеру равный
UsedPagesInfo.pageSize()или меньше, если последняя страница
-
writePage
public void writePage(int page, byte[] data)Description copied from interface:PagedDataЗапись страницы- Specified by:
writePagein interfacePagedData<UsedPagesInfo>- Parameters:
page- индекс страницы, от 0 и болееdata- массив байтов, размер не должен превышатьUsedPagesInfo.pageSize()
-
reducePages
public xyz.cofe.fn.Tuple2<UsedPagesInfo,UsedPagesInfo> reducePages(int pages)
Description copied from interface:ReduciblePagesУменьшение кол-ва используемых страниц- Specified by:
reducePagesin interfaceReduciblePages<UsedPagesInfo>- Parameters:
pages- сколько страниц нужно убрать- Returns:
- Сколько было и сколько стало памяти
-
resizePages
public xyz.cofe.fn.Tuple2<UsedPagesInfo,UsedPagesInfo> resizePages(int pages)
Description copied from interface:ResizablePagesИзменение кол-ва выделенных страниц- Specified by:
resizePagesin interfaceResizablePages<UsedPagesInfo>- Parameters:
pages- целевое кол-во страниц- Returns:
- Сколько было и сколько стало памяти
-
-