class Aggro::FileStore::Writer

Private: Serializes events to an IO object.

Public Class Methods

new(data_io, index_io) click to toggle source
# File lib/aggro/file_store/writer.rb, line 5
def initialize(data_io, index_io)
  @data_io = data_io
  @index_io = index_io
end

Public Instance Methods

write(events) click to toggle source
# File lib/aggro/file_store/writer.rb, line 10
def write(events)
  events.each do |event|
    @data_io.write Marshal.dump EventSerializer.serialize(event)
    write_to_index @data_io.pos
  end

  @data_io.flush
  @index_io.flush
end

Private Instance Methods

write_to_index(offset) click to toggle source
# File lib/aggro/file_store/writer.rb, line 22
def write_to_index(offset)
  @index_io.write Marshal.dump(offset)
end