org.apache.cassandra.utils.memory

## Class MemtableAllocator

- java.lang.Object
- - org.apache.cassandra.utils.memory.MemtableAllocator

- Direct Known Subclasses:
    MemtableBufferAllocator, NativeAllocator

      public abstract class MemtableAllocator
      extends java.lang.Object

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static interface` | `MemtableAllocator.DataReclaimer`
    `static class` | `MemtableAllocator.SubAllocator` Mark the BB as unused, permitting it to be reclaimed

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static MemtableAllocator.DataReclaimer` | `NO_OP`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `abstract Cell` | `clone(Cell cell, CFMetaData cfm, OpOrder.Group writeOp)`
    `abstract CounterCell` | `clone(CounterCell cell, CFMetaData cfm, OpOrder.Group writeOp)`
    `abstract DecoratedKey` | `clone(DecoratedKey key, OpOrder.Group opGroup)`
    `abstract DeletedCell` | `clone(DeletedCell cell, CFMetaData cfm, OpOrder.Group writeOp)`
    `abstract ExpiringCell` | `clone(ExpiringCell cell, CFMetaData cfm, OpOrder.Group writeOp)`
    `boolean` | `isLive()`
    `MemtableAllocator.SubAllocator` | `offHeap()`
    `MemtableAllocator.SubAllocator` | `onHeap()`
    `abstract MemtableAllocator.DataReclaimer` | `reclaimer()`
    `void` | `setDiscarded()` Indicate the memory and resources owned by this allocator are no longer referenced, and can be reclaimed/reused.
    `void` | `setDiscarding()` Mark this allocator reclaiming; this will permit any outstanding allocations to temporarily overshoot the maximum memory limit so that flushing can begin immediately

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### NO_OP

          public static final MemtableAllocator.DataReclaimer NO_OP

  - ### Method Detail

    - #### clone

          public abstract Cell clone(Cell cell,
                                     CFMetaData cfm,
                                     OpOrder.Group writeOp)

    - #### clone

          public abstract CounterCell clone(CounterCell cell,
                                            CFMetaData cfm,
                                            OpOrder.Group writeOp)

    - #### clone

          public abstract DeletedCell clone(DeletedCell cell,
                                            CFMetaData cfm,
                                            OpOrder.Group writeOp)

    - #### clone

          public abstract ExpiringCell clone(ExpiringCell cell,
                                             CFMetaData cfm,
                                             OpOrder.Group writeOp)

    - #### clone

          public abstract DecoratedKey clone(DecoratedKey key,
                                             OpOrder.Group opGroup)

    - #### reclaimer

          public abstract MemtableAllocator.DataReclaimer reclaimer()

    - #### onHeap

          public MemtableAllocator.SubAllocator onHeap()

    - #### offHeap

          public MemtableAllocator.SubAllocator offHeap()

    - #### setDiscarding

          public void setDiscarding()

      Mark this allocator reclaiming; this will permit any outstanding allocations to temporarily overshoot the maximum memory limit so that flushing can begin immediately

    - #### setDiscarded

          public void setDiscarded()

      Indicate the memory and resources owned by this allocator are no longer referenced, and can be reclaimed/reused.

    - #### isLive

          public boolean isLive()

Copyright © 2018 The Apache Software Foundation