10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
# File 'lib/blitz/command/traceroute.rb', line 10
def cmd_default argv
args = parse_cli argv
continue = true
last_index = nil
begin
[ 'INT', 'STOP', 'HUP' ].each do |s|
trap(s) { continue = false }
end
job = ::Blitz::Traceroute.queue args
msg "running from #{yellow(job.region)}..."
puts
job.result do |result|
print_result args, result, last_index
if not result.hops.empty?
last_index = result.hops.size
end
sleep 2.0 if not continue
continue
end
puts
msg "[#{red('aborted')}]" if not continue
rescue ::Blitz::Traceroute::Error::Region => e
error "#{yellow(e.region)}: #{red(e.message)}"
rescue ::Blitz::Traceroute::Error => e
error red(e.message)
end
end
|