Package org.rocksdb

Class AbstractCompactionFilterFactory<T extends AbstractCompactionFilter<?>>

Type Parameters:
T - The concrete type of the compaction filter
All Implemented Interfaces:
AutoCloseable

public abstract class AbstractCompactionFilterFactory<T extends AbstractCompactionFilter<?>> extends RocksCallbackObject
Each compaction will create a new AbstractCompactionFilter allowing the application to know about different compactions
  • Constructor Details

    • AbstractCompactionFilterFactory

      public AbstractCompactionFilterFactory()
  • Method Details

    • initializeNative

      protected long initializeNative(long... nativeParameterHandles)
      Description copied from class: RocksCallbackObject
      Construct the Native C++ object which will callback to our object methods
      Specified by:
      initializeNative in class RocksCallbackObject
      Parameters:
      nativeParameterHandles - An array of native handles for any parameter objects that are needed during construction
      Returns:
      The native handle of the C++ object which will callback to us
    • createCompactionFilter

      public abstract T createCompactionFilter(AbstractCompactionFilter.Context context)
      Create a new compaction filter
      Parameters:
      context - The context describing the need for a new compaction filter
      Returns:
      A new instance of AbstractCompactionFilter
    • name

      public abstract String name()
      A name which identifies this compaction filter

      The name will be printed to the LOG file on start up for diagnosis

      Returns:
      name which identifies this compaction filter.
    • disposeInternal

      protected void disposeInternal()
      We override RocksCallbackObject.disposeInternal() as disposing of a rocksdb::AbstractCompactionFilterFactory requires a slightly different approach as it is a std::shared_ptr
      Overrides:
      disposeInternal in class RocksCallbackObject