Interface MemoryAllocator

All Known Implementing Classes:
ArenaMemoryAllocator, HeapMemoryAllocator

public interface MemoryAllocator
Allocator of WritableMemory. Not thread safe.
  • Method Summary

    Modifier and Type
    Method
    Description
    Optional<ResourceHolder<org.apache.datasketches.memory.WritableMemory>>
    allocate(long size)
    Allocates a block of memory of capacity .
    long
    Returns the number of bytes available for allocations.
    long
    Returns the number of bytes managed by this allocator.
  • Method Details

    • allocate

      Optional<ResourceHolder<org.apache.datasketches.memory.WritableMemory>> allocate(long size)
      Allocates a block of memory of capacity . Returns empty if no more memory is available. The memory can be freed by closing the returned ResourceHolder. The returned WritableMemory object will use little-endian byte order.
    • available

      long available()
      Returns the number of bytes available for allocations. May return Long.MAX_VALUE if there is no inherent limit. This generally does not mean you can actually allocate 9 exabytes.
    • capacity

      long capacity()
      Returns the number of bytes managed by this allocator. When no memory has been allocated yet, this is identical to available(). May return Long.MAX_VALUE if there is no inherent limit. This generally does not mean you can actually allocate 9 exabytes.