Method: S3sync::ProgressStream#write

Defined in:
lib/s3sync/HTTPStreaming.rb

#write(s) ⇒ Object



79
80
81
82
83
84
85
86
87
88
89
90
91
92
# File 'lib/s3sync/HTTPStreaming.rb', line 79

def write(s)
	@transferred += s.length
	res = @innerStream.write(s)
	now = Time.new
	if(now -@last > 1) # don't do this oftener than once per second
		@printed = true
		$stdout.printf("\rProgress: %db  %db/s  %s       ", @transferred, (@transferred/(now - @start)).floor, 
			@total > 0? (100 * @transferred/@total).floor.to_s + "%" : ""  
		)  
		$stdout.flush
		@last = now
	end
	res
end