Class MappedPageSource

java.lang.Object
org.terracotta.offheapstore.disk.paging.MappedPageSource
All Implemented Interfaces:
PageSource

public class MappedPageSource extends Object implements PageSource
  • Field Details

  • Constructor Details

  • Method Details

    • allocateRegion

      public Long allocateRegion(long size)
    • freeRegion

      public void freeRegion(long address)
    • claimRegion

      public long claimRegion(long address, long size)
    • 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 allocate
      thief - true if the allocation can steal space from victims
      victim - true if the allocated page should be eligible for stealing
      owner - 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