class Gem::StreamUI::ThreadedDownloadReporter
一个能够很好地处理多线程下载的进度报告器。
Constants
- MUTEX
属性
当前显示的文件名
Public Class Methods
Source
# File lib/rubygems/user_interaction.rb, line 550 def initialize(out_stream, *args) @file_name = nil @out = out_stream end
创建一个新的多线程下载报告器,它将在 out_stream 上显示。其他参数将被忽略。
Public Instance Methods
Source
# File lib/rubygems/user_interaction.rb, line 576 def done # Do nothing. end
指示下载已完成。
Source
# File lib/rubygems/user_interaction.rb, line 559 def fetch(file_name, *args) if @file_name.nil? @file_name = file_name locked_puts "Fetching #{@file_name}" end end
告知下载报告器正在获取 file_name。其他参数将被忽略。
Source
# File lib/rubygems/user_interaction.rb, line 569 def update(bytes) # Do nothing. end
为给定的 bytes 数量更新多线程下载报告器。
私有实例方法
Source
# File lib/rubygems/user_interaction.rb, line 582 def locked_puts(message) MUTEX.synchronize do @out.puts message end end