diff options
author | Eric Wong <e@80x24.org> | 2013-10-26 04:00:59 +0000 |
---|---|---|
committer | Eric Wong <e@80x24.org> | 2013-10-26 04:02:18 +0000 |
commit | 1506dcd4741d64538bf6d822413219ddb1ec11c2 (patch) | |
tree | f3c54705c1a94e7f0750ccce3ce5fb3c24f095fa /lib/yahns/socket_helper.rb | |
parent | a224a0bbb16aeed9a1420c6a770e723cf30a28b3 (diff) | |
download | yahns-1506dcd4741d64538bf6d822413219ddb1ec11c2.tar.gz |
This should make things a little easier-to-follow and possibly improve method cache hit rates for servers with multiple acceptors.
Diffstat (limited to 'lib/yahns/socket_helper.rb')
-rw-r--r-- | lib/yahns/socket_helper.rb | 12 |
1 files changed, 6 insertions, 6 deletions
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 |