class Puma::MiniSSL::Socket
Public Class Methods
new(socket, engine)
click to toggle source
# File vendor/gems/puma-2.8.2-java/lib/puma/minissl.rb, line 4 def initialize(socket, engine) @socket = socket @engine = engine end
Public Instance Methods
close()
click to toggle source
# File vendor/gems/puma-2.8.2-java/lib/puma/minissl.rb, line 82 def close @socket.close end
engine_read_all()
click to toggle source
# File vendor/gems/puma-2.8.2-java/lib/puma/minissl.rb, line 30 def engine_read_all output = @engine.read while output and additional_output = @engine.read output << additional_output end output end
flush()
click to toggle source
# File vendor/gems/puma-2.8.2-java/lib/puma/minissl.rb, line 78 def flush @socket.flush end
peeraddr()
click to toggle source
# File vendor/gems/puma-2.8.2-java/lib/puma/minissl.rb, line 86 def peeraddr @socket.peeraddr end
read_nonblock(size)
click to toggle source
# File vendor/gems/puma-2.8.2-java/lib/puma/minissl.rb, line 38 def read_nonblock(size) while true output = engine_read_all return output if output data = @socket.read_nonblock(size) @engine.inject(data) output = engine_read_all return output if output while neg_data = @engine.extract @socket.write neg_data end end end
readpartial(size)
click to toggle source
# File vendor/gems/puma-2.8.2-java/lib/puma/minissl.rb, line 13 def readpartial(size) while true output = @engine.read return output if output data = @socket.readpartial(size) @engine.inject(data) output = @engine.read return output if output while neg_data = @engine.extract @socket.write neg_data end end end
to_io()
click to toggle source
# File vendor/gems/puma-2.8.2-java/lib/puma/minissl.rb, line 9 def to_io @socket end
write(data)
click to toggle source
# File vendor/gems/puma-2.8.2-java/lib/puma/minissl.rb, line 56 def write(data) need = data.bytesize while true wrote = @engine.write data enc = @engine.extract while enc @socket.write enc enc = @engine.extract end need -= wrote return data.bytesize if need == 0 data = data[need..-1] end end
Also aliased as: syswrite