public class NoExceptionCacheManager extends Object implements CacheManager
CacheManager.Factory, CacheManager.State
Constructor and Description |
---|
NoExceptionCacheManager(CacheManager cacheManager) |
Modifier and Type | Method and Description |
---|---|
boolean |
append(PageId pageId,
int appendAt,
byte[] page,
CacheContext cacheContext) |
void |
close() |
boolean |
delete(PageId pageId)
Deletes a page from the cache.
|
int |
get(PageId pageId,
int bytesToRead,
byte[] buffer,
int offsetInBuffer)
Reads the entire page if the queried page is found in the cache, stores the result in buffer.
|
int |
get(PageId pageId,
int pageOffset,
int bytesToRead,
byte[] buffer,
int offsetInBuffer)
Reads a part of a page if the queried page is found in the cache, stores the result in buffer.
|
int |
get(PageId pageId,
int pageOffset,
int bytesToRead,
byte[] buffer,
int offsetInBuffer,
CacheContext cacheContext)
Reads a part of a page if the queried page is found in the cache, stores the result in buffer.
|
int |
get(PageId pageId,
int pageOffset,
int bytesToRead,
PageReadTargetBuffer buffer,
CacheContext cacheContext)
Reads a part of a page if the queried page is found in the cache, stores the result in buffer.
|
List<PageId> |
getCachedPageIdsByFileId(String fileId,
long fileLength)
Get page ids by the given file id.
|
boolean |
put(PageId pageId,
byte[] page)
Puts a page into the cache manager.
|
boolean |
put(PageId pageId,
ByteBuffer page,
CacheContext cacheContext)
Puts a page into the cache manager with scope and quota respected.
|
CacheManager.State |
state() |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
invalidate, put, put
public NoExceptionCacheManager(CacheManager cacheManager)
cacheManager
- delegated cache managerpublic boolean put(PageId pageId, byte[] page)
CacheManager
put
in interface CacheManager
pageId
- page identifierpage
- page datapublic boolean put(PageId pageId, ByteBuffer page, CacheContext cacheContext)
CacheManager
put
in interface CacheManager
pageId
- page identifierpage
- page datacacheContext
- cache related contextpublic int get(PageId pageId, int bytesToRead, byte[] buffer, int offsetInBuffer)
CacheManager
get
in interface CacheManager
pageId
- page identifierbytesToRead
- number of bytes to read in this pagebuffer
- destination buffer to writeoffsetInBuffer
- offset in the destination buffer to writepublic int get(PageId pageId, int pageOffset, int bytesToRead, byte[] buffer, int offsetInBuffer)
CacheManager
get
in interface CacheManager
pageId
- page identifierpageOffset
- offset into the pagebytesToRead
- number of bytes to read in this pagebuffer
- destination buffer to writeoffsetInBuffer
- offset in the destination buffer to writepublic int get(PageId pageId, int pageOffset, int bytesToRead, byte[] buffer, int offsetInBuffer, CacheContext cacheContext)
CacheManager
get
in interface CacheManager
pageId
- page identifierpageOffset
- offset into the pagebytesToRead
- number of bytes to read in this pagebuffer
- destination buffer to writeoffsetInBuffer
- offset in the destination buffer to writecacheContext
- cache related contextpublic int get(PageId pageId, int pageOffset, int bytesToRead, PageReadTargetBuffer buffer, CacheContext cacheContext)
CacheManager
get
in interface CacheManager
pageId
- page identifierpageOffset
- offset into the pagebytesToRead
- number of bytes to read in this pagebuffer
- destination buffer to writecacheContext
- cache related contextpublic boolean delete(PageId pageId)
CacheManager
delete
in interface CacheManager
pageId
- page identifierpublic CacheManager.State state()
state
in interface CacheManager
public boolean append(PageId pageId, int appendAt, byte[] page, CacheContext cacheContext)
append
in interface CacheManager
public void close() throws Exception
close
in interface AutoCloseable
Exception
public List<PageId> getCachedPageIdsByFileId(String fileId, long fileLength)
CacheManager
getCachedPageIdsByFileId
in interface CacheManager
fileId
- file identifierfileLength
- file length (this will not be needed after we have per-file metadata)Copyright © 2023. All Rights Reserved.