# File lib/net/sftp/operations/read.rb, line 34 def perform( handle, options={} ) @length = options[:length] || -1 @handle = handle @offset = options[:offset] || 0 @chunk_size = options[:chunk_size] || DEFAULT_CHUNK_SIZE @progress_callback = options[:progress_callback] @data = "" real_length = ( @length >= 0 && @length < @chunk_size ? @length : @chunk_size ) @driver.read( nil, @handle, @offset, real_length ) end