Method: Collectd::Server#initialize

Defined in:
lib/collectd/server.rb

#initialize(interval, host, port) ⇒ Server



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/collectd/server.rb', line 7

def initialize(interval, host, port)
  super(interval)
  @sock = UDPSocket.new(host.index(':') ? Socket::AF_INET6 : Socket::AF_INET)
  @sock.connect(host, port)

  Thread.new do
    loop do
      sleep interval

      Collectd.run_pollables_for self
      Thread.critical = true
      pkt = make_pkt
      Thread.critical = false
      begin
        @sock.send(pkt, 0)
      rescue SystemCallError
      end
    end
  end.abort_on_exception = true
end