Issue #12077 has been updated by Toni Damjani.

Description updated

----------------------------------------
Feature #12077: Consolidate SSLSocket interface with TCPSocket
https://bugs.ruby-lang.org/issues/12077#change-57016

* Author: Toni Damjani
* Status: Open
* Priority: Normal
* Assignee: 
----------------------------------------
Hello,

Is there a reason why `SSLSocket#read` doesn't work the same as `SSLSocket#sysread` and why there is no `SSLSocket#recv`? 

Right now it is impossible to have code agnostic in regards to the socket type.

One solution is to monkey-patch `OpenSSL::SSL::SSLSocket` (see lower) to share the same interface as `TCPSocket`, but given the generic names of monkey-patched functions, I'm not sure if they could result with some leaks or strange behavior.

~~~
class OpenSSL::SSL::SSLSocket
  def read(*args)
    sysread(*args)
  end
  
  def write(*args)
    syswrite(*args)
  end
  
  def close
    sysclose
  end
end
~~~

Thoughts?



-- 
https://bugs.ruby-lang.org/

Unsubscribe: <mailto:ruby-core-request / ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>