def run(host = ENV['PRYEMBROKER'] || DEF_BROKERHOST, port = ENV['PRYEMBROKERPORT'] || DEF_BROKERPORT, opts = {:tls => false})
raise "root permission required for port below 1024 (#{port})" if port < 1024 && Process.euid != 0
@host = host
@port = port
opts = opts.dup
opts[:tls] = false
@opts = opts
begin
EM.start_server(host, port, PryRemoteEm::Broker, opts) do |broker|
end
log.info("[pry-remote-em broker] listening on #{opts[:tls] ? 'pryems' : 'pryem'}://#{host}:#{port}")
@listening = true
rescue => e
if (e.message.include?('port is in use') || e.message.include?('no acceptor'))
else
raise e
end
end
client { |c| yield self } if block_given?
end