Method: Zapp::Server#run

Defined in:
lib/zapp/server.rb

#runObject



20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# File 'lib/zapp/server.rb', line 20

def run
  log_start

  loop do
    socket = socket_pipe_receiver.take

    next if socket.eof?

    parsing_thread_pool.post do
      ctx = Zapp::HTTPContext::Context.new(socket: socket)

      worker_pool.process(context: ctx) unless ctx.client_closed? # Parsing failed
    end
  rescue Errno::ECONNRESET
    next
  end
rescue SignalException, IRB::Abort => e
  shutdown(e)
end