lib/lightio/library/openssl.rb in lightio-0.4.0 vs lib/lightio/library/openssl.rb in lightio-0.4.1
- old
+ new
@@ -10,17 +10,26 @@
prepend LightIO::Library::IO::IOMethods
wrap_blocking_methods :connect, :accept
def initialize(io, *args)
- io = io.send(:light_io_raw_obj) if io.is_a?(LightIO::Library::IO)
+ if io.is_a?(LightIO::Library::IO)
+ @_wrapped_socket = io
+ io = io.send(:light_io_raw_obj)
+ end
super(io, *args)
end
def accept_nonblock
socket = @obj.accept_nonblock(*args)
socket.is_a?(Symbol) ? socket : self.class._wrap(socket)
end
+
+ def to_io
+ @_wrapped_socket || @obj.io
+ end
+
+ alias io to_io
end
end
end
end