Class: Harnex::ApiServer
- Inherits:
-
Object
- Object
- Harnex::ApiServer
- Defined in:
- lib/harnex/runtime/api_server.rb
Instance Method Summary collapse
-
#initialize(session) ⇒ ApiServer
constructor
A new instance of ApiServer.
- #start ⇒ Object
- #stop ⇒ Object
Constructor Details
#initialize(session) ⇒ ApiServer
Returns a new instance of ApiServer.
6 7 8 9 10 11 |
# File 'lib/harnex/runtime/api_server.rb', line 6 def initialize(session) @session = session @server = TCPServer.new(session.host, session.port) @server.setsockopt(Socket::SOL_SOCKET, Socket::SO_REUSEADDR, true) @thread = nil end |
Instance Method Details
#start ⇒ Object
13 14 15 16 17 18 19 20 21 22 |
# File 'lib/harnex/runtime/api_server.rb', line 13 def start @thread = Thread.new do loop do socket = @server.accept Thread.new(socket) { |client| handle(client) } rescue IOError, Errno::EBADF break end end end |
#stop ⇒ Object
24 25 26 27 28 29 |
# File 'lib/harnex/runtime/api_server.rb', line 24 def stop @server.close @thread&.join(1) rescue IOError, Errno::EBADF nil end |