# File lib/puma/binder.rb, line 211 def add_ssl_listener(host, port, ctx, optimize_for_latency=true, backlog=1024) if IS_JRUBY @events.error "SSL not supported on JRuby" raise UnsupportedOption end require 'puma/minissl' s = TCPServer.new(host, port) if optimize_for_latency s.setsockopt(Socket::IPPROTO_TCP, Socket::TCP_NODELAY, 1) end s.setsockopt(Socket::SOL_SOCKET,Socket::SO_REUSEADDR, true) s.listen backlog ssl = MiniSSL::Server.new s, ctx env = @proto_env.dup env[HTTPS_KEY] = HTTPS @envs[ssl] = env @ios << ssl s end