class Ring::SQA::Receiver

Public Class Methods

new(database) click to toggle source
# File lib/ring/sqa/poller/receiver.rb, line 14
def initialize database
  @db = database
  run
end

Public Instance Methods

run() click to toggle source
# File lib/ring/sqa/poller/receiver.rb, line 6
def run
  udp = udp_socket
  udp.bind address, port+1
  loop { receive udp }
end

Private Instance Methods

receive(udp) click to toggle source
# File lib/ring/sqa/poller/receiver.rb, line 19
def receive udp
  data, _ = udp.recvfrom MAX_READ
  timestamp, row_id = data.split(/\s+/)
  latency = (Time.now.utc.to_f - timestamp.to_f)*1_000_000
  @db.update row_id.to_i, 'ok', latency.to_i
end