class Celluloid::IO::SSLSocket

SSLSocket with Celluloid::IO support

Public Class Methods

new(io, ctx = OpenSSL::SSL::SSLContext.new) click to toggle source
Calls superclass method
# File lib/celluloid/io/ssl_socket.rb, line 20
def initialize(io, ctx = OpenSSL::SSL::SSLContext.new)
  @context = ctx
  socket = OpenSSL::SSL::SSLSocket.new(::IO.try_convert(io), @context)
  socket.sync_close = true if socket.respond_to?(:sync_close=)
  super(socket)
end

Public Instance Methods

accept() click to toggle source
# File lib/celluloid/io/ssl_socket.rb, line 35
def accept
  to_io.accept_nonblock
  self
rescue ::IO::WaitReadable
  wait_readable
  retry
rescue ::IO::WaitWritable
  wait_writable
  retry
end
connect() click to toggle source
# File lib/celluloid/io/ssl_socket.rb, line 27
def connect
  to_io.connect_nonblock
  self
rescue ::IO::WaitReadable
  wait_readable
  retry
end