From 1506dcd4741d64538bf6d822413219ddb1ec11c2 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Sat, 26 Oct 2013 04:00:59 +0000 Subject: server: avoid metaclass for acceptors This should make things a little easier-to-follow and possibly improve method cache hit rates for servers with multiple acceptors. --- lib/yahns/socket_helper.rb | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'lib/yahns/socket_helper.rb') diff --git a/lib/yahns/socket_helper.rb b/lib/yahns/socket_helper.rb index 97d3c94..691408f 100644 --- a/lib/yahns/socket_helper.rb +++ b/lib/yahns/socket_helper.rb @@ -54,14 +54,14 @@ module Yahns::SocketHelper # :nodoc: end old_umask = File.umask(opt[:umask] || 0) begin - Kgio::UNIXServer.new(address) + Yahns::UNIXServer.new(address) ensure File.umask(old_umask) end elsif /\A\[([a-fA-F0-9:]+)\]:(\d+)\z/ =~ address new_ipv6_server($1, $2.to_i, opt) elsif /\A(\d+\.\d+\.\d+\.\d+):(\d+)\z/ =~ address - Kgio::TCPServer.new($1, $2.to_i) + Yahns::TCPServer.new($1, $2.to_i) else raise ArgumentError, "Don't know how to bind: #{address}" end @@ -70,13 +70,13 @@ module Yahns::SocketHelper # :nodoc: end def new_ipv6_server(addr, port, opt) - opt.key?(:ipv6only) or return Kgio::TCPServer.new(addr, port) + opt.key?(:ipv6only) or return Yahns::TCPServer.new(addr, port) sock = Socket.new(:AF_INET6, :SOCK_STREAM, 0) sock.setsockopt(:IPPROTO_IPV6, :IPV6_V6ONLY, opt[:ipv6only] ? 1 : 0) sock.setsockopt(:SOL_SOCKET, :SO_REUSEADDR, 1) sock.bind(Socket.pack_sockaddr_in(port, addr)) sock.autoclose = false - Kgio::TCPServer.for_fd(sock.fileno) + Yahns::TCPServer.for_fd(sock.fileno) end # returns rfc2732-style (e.g. "[::1]:666") addresses for IPv6 @@ -111,9 +111,9 @@ module Yahns::SocketHelper # :nodoc: sock.autoclose = false begin Socket.unpack_sockaddr_in(sock.getsockname) - Kgio::TCPServer.for_fd(sock.fileno) + Yahns::TCPServer.for_fd(sock.fileno) rescue ArgumentError - Kgio::UNIXServer.for_fd(sock.fileno) + Yahns::UNIXServer.for_fd(sock.fileno) end end end -- cgit v1.2.3-24-ge0c7