class Relayer::IRCSocketSelector

Public Class Methods

add_irc_socket(socket, client) click to toggle source
# File lib/relayer/socket.rb, line 47
def self.add_irc_socket(socket, client)
  @@sockets[socket] = client
end
instance() click to toggle source
# File lib/relayer/socket.rb, line 43
def self.instance
  @@instance ||= IRCSocketSelector.new
end
select() click to toggle source
# File lib/relayer/socket.rb, line 51
def self.select
  sockets = @@sockets.keys
  
  readable, writable, exceptioned = IO.select(sockets, nil, nil)
  
  readable.each do |socket|
    client = @@sockets[socket]
    client.readable
  end
end
start!() click to toggle source
# File lib/relayer/socket.rb, line 66
def self.start!
  return if @@sockets.empty?
  
  @@started = true
  while true
    IRCSocketSelector.select
  end
end
started?() click to toggle source
# File lib/relayer/socket.rb, line 62
def self.started?
  @@started
end