class Fluent::EventStream

def ==(other)

for tests
def ==(other)
  other.is_a?(EventStream) && self.to_msgpack_stream == other.to_msgpack_stream
end

def dup

dup does deep copy for event stream
def dup
  raise NotImplementedError, "DO NOT USE THIS CLASS directly."
end

def each(&block)

def each(&block)
  raise NotImplementedError, "DO NOT USE THIS CLASS directly."
end

def empty?

def empty?
  size == 0
end

def repeatable?

def repeatable?
  false
end

def size

def size
  raise NotImplementedError, "DO NOT USE THIS CLASS directly."
end

def slice(index, num)

def slice(index, num)
  raise NotImplementedError, "DO NOT USE THIS CLASS directly."
end

def to_compressed_msgpack_stream(time_int: false)

def to_compressed_msgpack_stream(time_int: false)
  packed = to_msgpack_stream(time_int: time_int)
  compress(packed)
end

def to_msgpack_stream(time_int: false)

def to_msgpack_stream(time_int: false)
  return to_msgpack_stream_forced_integer if time_int
  out = msgpack_packer
  each {|time,record|
    out.write([time,record])
  }
  out.to_s
end

def to_msgpack_stream_forced_integer

def to_msgpack_stream_forced_integer
  out = msgpack_packer
  each {|time,record|
    out.write([time.to_i,record])
  }
  out.to_s
end