Module: EM::Traceroute
- Defined in:
- lib/emtraceroute/version.rb,
lib/emtraceroute/hop.rb,
lib/emtraceroute.rb
Defined Under Namespace
Classes: Hop
Constant Summary collapse
- VERSION =
'0.0.2'
Class Method Summary collapse
Class Method Details
.start_trace(target, settings) ⇒ Object
16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/emtraceroute.rb', line 16 def self.start_trace target, settings fd = Socket.new(Socket::AF_INET, Socket::SOCK_RAW, Socket::IPPROTO_ICMP) fd.setsockopt(Socket::IPPROTO_IP, Socket::IP_HDRINCL, 1) conn = EM.watch(fd, EM::TracerouteHandler, target, settings) conn.notify_readable = true conn.notify_writable = true unless settings["hop_callback"] conn.deferred.callback {|hop| puts hop } end end |