lib/griffin/engine/worker.rb in griffin-0.2.0 vs lib/griffin/engine/worker.rb in griffin-0.2.1
- old
+ new
@@ -1,20 +1,23 @@
# frozen_string_literal: true
-require 'griffin/listener'
-
module Griffin
module Engine
module Worker
+ def initialize
+ @socket_manager = ServerEngine::SocketManager::Client.new(server.socket_manager_path)
+ end
+
def before_fork
- @listener = Griffin::Listener.new(config[:bind], config[:port])
server.core.before_run(worker_id)
end
def run
- server.core.run(@listener.listen)
+ @lsock = @socket_manager.listen_tcp(config[:bind], config[:port])
+ @lsock.setsockopt(Socket::IPPROTO_TCP, Socket::TCP_NODELAY, 1)
+ server.core.run(@lsock)
ensure
- @listener.close
+ @lsock.close if @lsock
end
def stop
server.core.shutdown
end