[ruby-core:71540] Re: can we change SSLSocket#sysread_nonblock/syswrite_nonblock?

From: Tanaka Akira <akr@...>
Date: 2015-11-18 02:15:16 UTC
List: ruby-core #71540
2015-11-18 10:56 GMT+09:00 Eric Wong <normalperson@yhbt.net>:
> They're private methods, but there's also RDoc for them so
> maybe people rely on them somewhere...

I can't remember why I wrote the document.
r21207 adopts the sysread_nonblock document from read_nonblock.
I guess I wanted to preserve the document already written.

It seems most uses in gems are just a copy of ext/openssl/buffering.rb.
The only exception, puma, invokes sysread_nonblock in IS_JRUBY guard.

% gmilk -s rb -a sysread_nonblock
latest-gems/jruby-openssl-0.9.4/lib/jopenssl19/openssl/buffering.rb:174:
     return sysread_nonblock(maxlen, buf)
latest-gems/jruby-openssl-maven-0.7.6.1/lib/1.9/openssl/buffering.rb:174:
     return sysread_nonblock(maxlen, buf)
latest-gems/puma-2.9.1/lib/puma/client.rb:181:          data =
@io.sysread_nonblock(CHUNK_SIZE)
latest-gems/rhodes-3.5.1.12/lib/extensions/openssl/openssl/buffering.rb:145:
     return sysread_nonblock(maxlen, buf)
latest-gems/rsense-server-0.5.17/vendor/gems/puma-2.8.2-java/lib/puma/client.rb:181:
         data = @io.sysread_nonblock(CHUNK_SIZE)
latest-gems/rubysl-openssl-2.1.0/lib/openssl/buffering.rb:174:
return sysread_nonblock(maxlen, buf)
% gmilk -s rb -a syswrite_nonblock
latest-gems/jruby-openssl-0.9.4/lib/jopenssl19/openssl/buffering.rb:375:
   syswrite_nonblock(s)
latest-gems/jruby-openssl-maven-0.7.6.1/lib/1.9/openssl/buffering.rb:374:
   syswrite_nonblock(s)
latest-gems/rhodes-3.5.1.12/lib/extensions/openssl/openssl/buffering.rb:292:
   syswrite_nonblock(s)
latest-gems/rubysl-openssl-2.1.0/lib/openssl/buffering.rb:375:
syswrite_nonblock(s)

I think "private" works well.  No one used them from outside.
-- 
Tanaka Akira

In This Thread

Prev Next