class Async::IO::SecureEndpoint
def bind
def bind @endpoint.bind do |server| yield SSLServer.new(server, context) end end
def connect(&block)
def connect(&block) SSLSocket.connect(@endpoint.connect, context, hostname, &block) end
def context
def context if context = @options[:ssl_context] if params = self.params context = context.dup context.set_params(params) end else context = ::OpenSSL::SSL::SSLContext.new if params = self.params context.set_params(params) end end return context end
def each
def each return to_enum unless block_given? @endpoint.each do |endpoint| yield self.class.new(endpoint, @options) end end
def hostname
def hostname @options.fetch(:hostname) {@endpoint.hostname} end
def initialize(endpoint, **options)
def initialize(endpoint, **options) super(**options) @endpoint = endpoint end
def params
def params @options[:ssl_params] end
def to_s
def to_s "\#<#{self.class} #{@endpoint}>" end