Module: EraXML

Defined in:
lib/thinp_xml/era/emit.rb,
lib/thinp_xml/era/builder.rb,
lib/thinp_xml/era/metadata.rb

Overview


Defined Under Namespace

Modules: EraEmitterDetail Classes: Builder, Metadata, Superblock, Writeset, WritesetBit

Constant Summary collapse

SUPERBLOCK_FIELDS =
[[:uuid, :string],
[:block_size, :int],
[:nr_blocks, :int],
[:current_era, :int]]
WRITESET_FIELDS =
[[:era, :int],
[:nr_bits, :int],
[:bits, :array]]
BIT_FIELDS =
[[:block, :int],
[:value, :bool]]

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.field_names(flds) ⇒ Object



14
15
16
# File 'lib/thinp_xml/era/metadata.rb', line 14

def self.field_names(flds)
  flds.map {|p| p[0]}
end

Instance Method Details

#write_xml(md, io) ⇒ Object




43
44
45
46
47
48
49
# File 'lib/thinp_xml/era/emit.rb', line 43

def write_xml(md, io)
  e = EraEmitterDetail::EraEmitter.new(io)
  e.emit_superblock(md.superblock) do
    e.emit_writesets(md.writesets)
    e.emit_era_array(md.era_array)
  end
end