Method: PEROBS::SpaceTree#initialize

Defined in:
lib/perobs/SpaceTree.rb

#initialize(dir, progressmeter) ⇒ SpaceTree

Manage the free spaces tree in the specified directory

Parameters:

  • dir (String)

    directory path of an existing directory



47
48
49
50
51
52
53
54
55
56
57
58
# File 'lib/perobs/SpaceTree.rb', line 47

def initialize(dir, progressmeter)
  @dir = dir
  @progressmeter = progressmeter

  # This EquiBlobsFile contains the nodes of the SpaceTree.
  @nodes = EquiBlobsFile.new(@dir, 'database_spaces', progressmeter,
                             SpaceTreeNode::NODE_BYTES, 1)

  # Benchmark runs showed a cache size of 128 to be a good compromise
  # between read and write performance trade-offs and memory consumption.
  @cache = PersistentObjectCache.new(256, 256, SpaceTreeNode, self)
end