package jelectrum.db.lmdb; import jelectrum.db.DB; import jelectrum.db.DBMap; import jelectrum.db.DBMapSet; import jelectrum.Config; import org.fusesource.lmdbjni.Env; import java.io.File; public class LMDB extends DB { Env env; public LMDB(Config config) throws Exception { super(config); config.require("lmdb_path"); String path = config.get("lmdb_path"); File dir = new File(path); dir.mkdirs(); env = new Env(); env.setMaxDbs(16); env.setMaxReaders(1024); env.setMapSize(500 * 1024L * 1024L * 1024L); env.open(path); open(); } public DBMap openMap(String name) { return new LMDBMap(env, env.openDatabase(name)); } public DBMapSet openMapSet(String name) { return new LMDBMapSet(env, env.openDatabase(name)); } }