Class: LogStash::Codecs::Frame
- Inherits:
-
Base
- Object
- Base
- LogStash::Codecs::Frame
- Defined in:
- lib/logstash/codecs/frame.rb
Overview
Frame-oriented text data.
Decoding behavior: Only whole frame events will be emitted.
Encoding behavior: Each event will be emitted with a prefixed <length><delimiter>.
Instance Method Summary collapse
Instance Method Details
#decode(data) ⇒ Object
32 33 34 35 36 37 38 39 |
# File 'lib/logstash/codecs/frame.rb', line 32 def decode(data) @buffer += data while (nextMessage) yield LogStash::Event.new("message" => @converter.convert(@buffer[@offset, @frameLength])) @buffer.slice!(0, @offset + @frameLength) @offset = nil end end |
#encode(event) ⇒ Object
42 43 44 45 46 47 48 |
# File 'lib/logstash/codecs/frame.rb', line 42 def encode(event) if event.is_a? LogStash::Event and @format @on_event.call(event, encodeFrameLength(event.sprintf(@format))) else @on_event.call(event, encodeFrameLength(event.to_s)) end end |
#register ⇒ Object
23 24 25 26 27 28 29 |
# File 'lib/logstash/codecs/frame.rb', line 23 def register @buffer = "" @offset @frame_length @converter = LogStash::Util::Charset.new(@charset) @converter.logger = @logger end |