module MemoryLimit::IO

Public Instance Methods

read(bytes = nil) click to toggle source
Calls superclass method
# File lib/unicorn-cuba-base/memory_limit.rb, line 17
def read(bytes = nil)
        data = @root_limit.get("#{self.class.name} IO read") do |max_read_bytes|
                if not bytes or bytes > max_read_bytes
                        data = super max_read_bytes
                        raise MemoryLimitedExceededError unless eof?
                        data or '' # read() always returns '' on EOF
                else
                        super bytes or ''
                end
        end
end
root_limit(ml) click to toggle source
# File lib/unicorn-cuba-base/memory_limit.rb, line 13
def root_limit(ml)
        @root_limit = ml
end