LMDBInitConfig.fromEstimate constructor

LMDBInitConfig.fromEstimate({
  1. required int expectedEntries,
  2. required int averageKeySize,
  3. required int averageValueSize,
  4. double overheadFactor = LMDBConfig.defaultOverheadFactor,
  5. int maxDbs = 1,
  6. int mode = 438,
})

Creates a configuration based on expected data characteristics.

This factory constructor automatically calculates the optimal map size based on your data requirements.

Example:

final config = LMDBInitConfig.fromEstimate(
  expectedEntries: 1000000,
  averageKeySize: 16,
  averageValueSize: 64,
);

Implementation

factory LMDBInitConfig.fromEstimate({
  required int expectedEntries,
  required int averageKeySize,
  required int averageValueSize,
  double overheadFactor = LMDBConfig.defaultOverheadFactor,
  int maxDbs = 1,
  int mode = 438, // 438 decimal == 644 octal
}) {
  final mapSize = LMDBConfig.calculateMapSize(
    expectedEntries: expectedEntries,
    averageKeySize: averageKeySize,
    averageValueSize: averageValueSize,
    overheadFactor: overheadFactor,
  );

  return LMDBInitConfig(
    mapSize: mapSize,
    maxDbs: maxDbs,
    mode: mode.toRadixString(8),
  );
}