Sha256: 894a7bf848cdfbbe43b181e5a57e9bc6b7b5f3d2008b5c86e5ee69693e233d22

Contents?: true

Size: 564 Bytes

Versions: 2

Compression:

Stored size: 564 Bytes

Contents

module Aggro
  class FileStore < AbstractStore
    # Private: Serializes events to an IO object.
    class Writer
      def initialize(data_io, index_io)
        @data_io = data_io
        @index_io = index_io
      end

      def write(events)
        events.each do |event|
          @data_io.write EventSerializer.serialize(event)
          write_to_index @data_io.pos
        end

        @data_io.flush
        @index_io.flush
      end

      private

      def write_to_index(offset)
        @index_io.write Marshal.dump(offset)
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
aggro-0.0.3 lib/aggro/file_store/writer.rb
aggro-0.0.2 lib/aggro/file_store/writer.rb