class LogStash::Inputs::Syslog::TCPInput
Public Class Methods
new(receiver, logger)
click to toggle source
# File lib/logstash/inputs/syslog.rb, line 98 def initialize(receiver, logger) @logger = logger @receiver = receiver @buffer = BufferedTokenizer.new # From eventmachine end
Public Instance Methods
receive_data(data)
click to toggle source
Messages over TCP may not be received all at once, chunk by newline.
# File lib/logstash/inputs/syslog.rb, line 105 def receive_data(data) @buffer.extract(data).each do |line| port, host = Socket.unpack_sockaddr_in(self.get_peername) # Trim trailing newlines @receiver.receive(host, port, line.chomp) end end