Package xyz.cofe.cbuffer.page
Class CBuffPagedData
- java.lang.Object
-
- xyz.cofe.cbuffer.page.CBuffPagedData
-
- All Implemented Interfaces:
Flushable,ExtendablePages,PagedData,ReduciblePages,ResizablePages
public class CBuffPagedData extends Object implements PagedData, Flushable, ResizablePages
-
-
Field Summary
Fields Modifier and Type Field Description protected ContentBuffercbuffprotected longmaxSizeprotected intpageSizeprotected booleanresizeable
-
Constructor Summary
Constructors Constructor Description CBuffPagedData(ContentBuffer cbuff, int pageSize, boolean resizeable, long maxSize)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description xyz.cofe.fn.Tuple2<UsedPagesInfo,UsedPagesInfo>extendPages(int pages)Расширение кол-ва используемых страницvoidflush()Принудительная запись накопившийся изменений на диск/носитель информацииUsedPagesInfomemoryInfo()Получение информации о памятиbyte[]readPage(int page)Чтение страницыxyz.cofe.fn.Tuple2<UsedPagesInfo,UsedPagesInfo>reducePages(int pages)Уменьшение кол-ва используемых страницvoidwritePage(int page, byte[] data)Запись страницы-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface xyz.cofe.cbuffer.page.ResizablePages
resizePages
-
-
-
-
Field Detail
-
cbuff
protected final ContentBuffer cbuff
-
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:
memoryInfoin interfacePagedData- Returns:
- Получение информации о памяти
-
readPage
public byte[] readPage(int page)
Description copied from interface:PagedDataЧтение страницы- Specified by:
readPagein interfacePagedData- Parameters:
page- индекс страницы, от 0 и более- Returns:
- массив байтов, по размеру равный
UsedPagesInfo.pageSize()или меньше, если последняя страница
-
writePage
public void writePage(int page, byte[] data)Description copied from interface:PagedDataЗапись страницы- Specified by:
writePagein interfacePagedData- Parameters:
page- индекс страницы, от 0 и болееdata- массив байтов, размер не должен превышатьUsedPagesInfo.pageSize()
-
flush
public void flush()
Description copied from interface:FlushableПринудительная запись накопившийся изменений на диск/носитель информации
-
extendPages
public xyz.cofe.fn.Tuple2<UsedPagesInfo,UsedPagesInfo> extendPages(int pages)
Description copied from interface:ExtendablePagesРасширение кол-ва используемых страниц- Specified by:
extendPagesin interfaceExtendablePages- Parameters:
pages- сколько страниц нужно добавить- Returns:
- Сколько было и сколько стало памяти
-
reducePages
public xyz.cofe.fn.Tuple2<UsedPagesInfo,UsedPagesInfo> reducePages(int pages)
Description copied from interface:ReduciblePagesУменьшение кол-ва используемых страниц- Specified by:
reducePagesin interfaceReduciblePages- Parameters:
pages- сколько страниц нужно убрать- Returns:
- Сколько было и сколько стало памяти
-
-