Class: Net::Protocol
Do not use. This class is for internal use only.
Relationships & Source Files | |
Inherits: | Object |
Defined in: | lib/net/protocol.rb |
Overview
internal use only
Constant Summary
-
VERSION =
# File 'lib/net/protocol.rb', line 29"0.1.1"
Class Method Summary
- .protocol_param(name, val) private
Instance Method Summary
- #ssl_socket_connect(s, timeout) private
Class Method Details
.protocol_param(name, val) (private)
[ GitHub ]# File 'lib/net/protocol.rb', line 32
def Protocol.protocol_param(name, val) module_eval(<<-End, __FILE__, __LINE__ + 1) def #{name} #{val} end End end
Instance Method Details
#ssl_socket_connect(s, timeout) (private)
[ GitHub ]# File 'lib/net/protocol.rb', line 40
def ssl_socket_connect(s, timeout) if timeout while true raise Net::OpenTimeout if timeout <= 0 start = Process.clock_gettime Process::CLOCK_MONOTONIC # to_io is required because SSLSocket doesn't have wait_readable yet case s.connect_nonblock(exception: false) when :wait_readable; s.to_io.wait_readable(timeout) when :wait_writable; s.to_io.wait_writable(timeout) else; break end timeout -= Process.clock_gettime(Process::CLOCK_MONOTONIC) - start end else s.connect end end