Class: Aggro::FileStore::Writer

Inherits:
Object
  • Object
show all
Defined in:
lib/aggro/file_store/writer.rb

Overview

Private: Serializes events to an IO object.

Instance Method Summary collapse

Constructor Details

#initialize(data_io, index_io) ⇒ Writer

Returns a new instance of Writer.



5
6
7
8
# File 'lib/aggro/file_store/writer.rb', line 5

def initialize(data_io, index_io)
  @data_io = data_io
  @index_io = index_io
end

Instance Method Details

#write(events) ⇒ Object



10
11
12
13
14
15
16
17
18
# 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