org.terracotta.offheapstore.disk.paging
Class MappedPageSource
java.lang.Object
org.terracotta.offheapstore.disk.paging.MappedPageSource
- All Implemented Interfaces:
- PageSource
public class MappedPageSource
- extends Object
- implements PageSource
- Author:
- Chris Dennis
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
MappedPageSource
public MappedPageSource(File file)
throws IOException
- Throws:
IOException
MappedPageSource
public MappedPageSource(File file,
long size)
throws IOException
- Throws:
IOException
MappedPageSource
public MappedPageSource(File file,
boolean truncate)
throws IOException
- Throws:
IOException
MappedPageSource
public MappedPageSource(File file,
boolean truncate,
long size)
throws IOException
- Throws:
IOException
allocateRegion
public Long allocateRegion(long size)
freeRegion
public void freeRegion(long address)
claimRegion
public long claimRegion(long address,
long size)
throws IOException
- Throws:
IOException
getReadableChannel
public FileChannel getReadableChannel()
getWritableChannel
public FileChannel getWritableChannel()
getFile
public File getFile()
allocate
public MappedPage allocate(int size,
boolean thief,
boolean victim,
OffHeapStorageArea owner)
- Description copied from interface:
PageSource
- Attempt to allocate a page of the given size.
Allocations identified as thieves will if necessary 'steal' space from
previous allocations identified as 'victims' in order to fulfill the
allocation request. owner is the area from which the
returned page can subsequently be stolen or recovered. This is most likely
to be the calling instance.
- Specified by:
allocate in interface PageSource
- Parameters:
size - size of page to allocatethief - true if the allocation can steal space from victimsvictim - true if the allocated page should be eligible for stealingowner - owner from which subsequent steal should occur
- Returns:
- an allocated page, or
null in the case of failure
free
public void free(Page page)
- Specified by:
free in interface PageSource
claimPage
public MappedPage claimPage(long address,
long size)
throws IOException
- Throws:
IOException
getAddress
public long getAddress(Page underlying)
flush
public void flush()
throws IOException
- Throws:
IOException
close
public void close()
throws IOException
- Throws:
IOException
Copyright © 2016. All Rights Reserved.