Skip to content

Commit 3866288

Browse files
committed
event: Introduce processing metadata enabled event stream class
Signed-off-by: Hiroshi Hatake <hiroshi@chronosphere.io>
1 parent 99c7074 commit 3866288

1 file changed

Lines changed: 37 additions & 0 deletions

File tree

lib/fluent/event.rb

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -309,6 +309,43 @@ def ensure_decompressed!
309309
end
310310
end
311311

312+
class MetadataTimeEventStream < EventStream
313+
def initialize(es)
314+
@es = es
315+
end
316+
317+
def empty?
318+
@es.empty?
319+
end
320+
321+
def dup
322+
self.class.new(@es.dup)
323+
end
324+
325+
def size
326+
@es.size
327+
end
328+
329+
def repeatable?
330+
@es.repeatable?
331+
end
332+
333+
def slice(index, num)
334+
self.class.new(@es.slice(index, num))
335+
end
336+
337+
def each(unpacker: nil, &block)
338+
@es.each(unpacker: unpacker) do |time, record|
339+
next if record.nil?
340+
341+
time = time[0] if time.is_a?(Array)
342+
time = Fluent::EventTime.now if time.nil? || time.to_i == 0
343+
block.call(time, record)
344+
end
345+
nil
346+
end
347+
end
348+
312349
module ChunkMessagePackEventStreamer
313350
# chunk.extend(ChunkMessagePackEventStreamer)
314351
# => chunk.each{|time, record| ... }

0 commit comments

Comments
 (0)