Class: Myxi::Listener
- Inherits:
-
Object
- Object
- Myxi::Listener
- Defined in:
- lib/myxi/listener.rb
Instance Method Summary collapse
- #close ⇒ Object
- #handle_r ⇒ Object
-
#initialize(event_loop, options) ⇒ Listener
constructor
A new instance of Listener.
Constructor Details
#initialize(event_loop, options) ⇒ Listener
Returns a new instance of Listener.
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
# File 'lib/myxi/listener.rb', line 6 def initialize(event_loop, ) @event_loop = event_loop port = ([:port] || ENV['MYXI_PORT'] || ENV['PORT'] || 5005).to_i Myxi.logger.info "Running Myxi Web Socket Server on 0.0.0.0:#{port}" if ENV['SERVER_FD'] @socket = TCPServer.for_fd(ENV['SERVER_FD'].to_i) Process.kill('TERM', Process.ppid) else @socket = TCPServer.open([:bind_address] || ENV['MYXI_BIND_ADDRESS'], port) ENV['SERVER_FD'] = @socket.to_i.to_s end @socket.close_on_exec = false monitor = event_loop.selector.register(@socket, :r) monitor.value = self end |
Instance Method Details
#close ⇒ Object
28 29 30 31 |
# File 'lib/myxi/listener.rb', line 28 def close @socket.close @event_loop.selector.deregister(@socket) end |