class GELF::Transport::UDP
Attributes
addresses[RW]
Public Class Methods
new(addresses)
click to toggle source
# File lib/gelf/transport/udp.rb, line 6 def initialize(addresses) @addresses = addresses end
Public Instance Methods
close()
click to toggle source
# File lib/gelf/transport/udp.rb, line 21 def close socket = get_socket socket.close if socket end
send_datagrams(datagrams)
click to toggle source
# File lib/gelf/transport/udp.rb, line 10 def send_datagrams(datagrams) socket = get_socket idx = get_address_index host, port = @addresses[idx] set_address_index((idx + 1) % @addresses.length) datagrams.each do |datagram| socket.send(datagram, 0, host, port) end end
Private Instance Methods
get_address_index()
click to toggle source
# File lib/gelf/transport/udp.rb, line 32 def get_address_index Thread.current[:gelf_udp_address_idx] ||= 0 end
get_socket()
click to toggle source
# File lib/gelf/transport/udp.rb, line 28 def get_socket Thread.current[:gelf_udp_socket] ||= UDPSocket.open end
set_address_index(value)
click to toggle source
# File lib/gelf/transport/udp.rb, line 36 def set_address_index(value) Thread.current[:gelf_udp_address_idx] = value end