module Slowproxy::SlowBufferedIO
Constants
- BUFSIZE
Public Class Methods
bps()
click to toggle source
# File lib/slowproxy/slow_buffered_io.rb, line 11 def self.bps @bps ||= 128 * 1024 end
bps=(bps)
click to toggle source
# File lib/slowproxy/slow_buffered_io.rb, line 6 def self.bps=(bps) @bps = bps @wait = nil end
logger()
click to toggle source
# File lib/slowproxy/slow_buffered_io.rb, line 19 def self.logger @logger end
logger=(logger)
click to toggle source
# File lib/slowproxy/slow_buffered_io.rb, line 15 def self.logger=(logger) @logger = logger end
wait()
click to toggle source
# File lib/slowproxy/slow_buffered_io.rb, line 23 def self.wait @wait ||= 1 / ((bps / 8.0) / BUFSIZE) end
Public Instance Methods
logger()
click to toggle source
# File lib/slowproxy/slow_buffered_io.rb, line 47 def logger SlowBufferedIO.logger end
rbuf_fill()
click to toggle source
Calls superclass method
# File lib/slowproxy/slow_buffered_io.rb, line 27 def rbuf_fill logger.info "wait for read (#{SlowBufferedIO.wait}s)" if logger sleep SlowBufferedIO.wait super end
write0(str)
click to toggle source
Calls superclass method
# File lib/slowproxy/slow_buffered_io.rb, line 33 def write0(str) if str.bytesize > BUFSIZE logger.info "wait for write (#{str.bytesize * 8.0 / SlowBufferedIO.bps}s)" if logger len = 0 str.each_byte.each_slice(BUFSIZE) do |bytes| len += super(bytes.pack("C*")) sleep SlowBufferedIO.wait end len else super end end