module SubZero::Socket::Server

Public Instance Methods

down!() click to toggle source
# File lib/sub_zero/socket/server.rb, line 22
def down!
  send_server_verb 'DOWN'
end
ping() click to toggle source
# File lib/sub_zero/socket/server.rb, line 26
def ping
  send_server_verb 'PING'
end
poll(socket) { |message| ... } click to toggle source
# File lib/sub_zero/socket/server.rb, line 38
def poll socket
  ZMQ::Poller.new.tap do |p|
    p.register socket, ZMQ::POLLIN
    p.poll 1

    p.readables.each do |s|
      s.recv_strings source = []

      begin
        message = Message.parse(source)
      rescue => e
        error e, 'error parsing message'
      end

      yield message if message
    end
  end
end
run(&handle_message) click to toggle source
# File lib/sub_zero/socket/server.rb, line 5
def run &handle_message
  context do |c|
    socket c do |s|
      poll s do |m|
        handle_message[m]
      end
    end
  end
rescue => e
  error e, 'failed while running server, going to retry'
  retry
end
send_server_verb(verb) click to toggle source
# File lib/sub_zero/socket/server.rb, line 30
def send_server_verb verb
  context do |c|
    socket c do |s|
      send_message s, Message.new(type: 'SRV', verb: verb)
    end
  end
end
up!() click to toggle source
# File lib/sub_zero/socket/server.rb, line 18
def up!
  send_server_verb 'UP'
end