class Flare::Tools::Cli::Restore::TchRestorer

Public Class Methods

myname() click to toggle source

uint32_t flag -> L // uint32_t time_t expire -> Q // unsigned long uint64_t size -> Q // uint64_t uint64_t version -> Q // uint64_t uint32_t option -> L // uint32_t

# File lib/flare/tools/cli/restore.rb, line 41
def self.myname
  "tch"
end
new(filepath) click to toggle source
# File lib/flare/tools/cli/restore.rb, line 44
def initialize filepath
  raise "output file not specified." if filepath.nil?
  raise "#{filepath} isn't a path." unless filepath.kind_of?(String)
  @hdb = TokyoCabinet::HDB.new
  @hdb.open(filepath, TokyoCabinet::HDB::OCREAT|TokyoCabinet::HDB::OREADER)
end

Public Instance Methods

close() click to toggle source
# File lib/flare/tools/cli/restore.rb, line 60
def close
  @hdb.close
end
iterate(&block) click to toggle source
# File lib/flare/tools/cli/restore.rb, line 50
def iterate &block
  @hdb.iterinit
  while (key = @hdb.iternext)
    value = @hdb.get(key)
    a = value.unpack("LQQQC*")
    flag, expire, size, version = a.shift(4)
    data = a.pack("C*")
    block.call(key, data, flag, expire)
  end
end