1 // Copyright (c) 2011-present, Facebook, Inc. All rights reserved. 2 // This source code is licensed under both the GPLv2 (found in the 3 // COPYING file in the root directory) and Apache 2.0 License 4 // (found in the LICENSE.Apache file in the root directory). 5 package org.rocksdb; 6 7 /** 8 * MemTableConfig is used to config the internal mem-table of a RocksDB. 9 * It is required for each memtable to have one such sub-class to allow 10 * Java developers to use it. 11 * 12 * To make a RocksDB to use a specific MemTable format, its associated 13 * MemTableConfig should be properly set and passed into Options 14 * via Options.setMemTableFactory() and open the db using that Options. 15 * 16 * @see Options 17 */ 18 public abstract class MemTableConfig { 19 /** 20 * This function should only be called by Options.setMemTableConfig(), 21 * which will create a c++ shared-pointer to the c++ MemTableRepFactory 22 * that associated with the Java MemTableConfig. 23 * 24 * @see Options#setMemTableConfig(MemTableConfig) 25 * 26 * @return native handle address to native memory table instance. 27 */ newMemTableFactoryHandle()28 abstract protected long newMemTableFactoryHandle(); 29 } 30