class Fluent::Plugin::Buffer

Public Class Methods

new(delimiter) click to toggle source
# File lib/fluent/plugin/in_unix_client.rb, line 145
def initialize(delimiter)
  @buf = ""
  @delimiter = delimiter
end

Public Instance Methods

<<(data) click to toggle source
# File lib/fluent/plugin/in_unix_client.rb, line 154
def <<(data)
  add(data)
end
add(data) click to toggle source
# File lib/fluent/plugin/in_unix_client.rb, line 150
def add(data)
  @buf << data
end
extract_records() click to toggle source
# File lib/fluent/plugin/in_unix_client.rb, line 158
def extract_records
  records = []

  pos_read = 0
  while pos_next_delimiter = @buf.index(@delimiter, pos_read)
    records << @buf[pos_read...pos_next_delimiter]
    pos_read = pos_next_delimiter + @delimiter.size
  end

  @buf.slice!(0, pos_read) if pos_read > 0

  records
end