Method: S3sync::ProgressStream#write

Defined in:
lib/s3sync/HTTPStreaming.rb

#write(s) ⇒ Object



83
84
85
86
87
88
89
90
91
92
93
94
95
96
# File 'lib/s3sync/HTTPStreaming.rb', line 83

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