class ThreadTimer
Public Class Methods
new(timeout_millis, callback)
click to toggle source
# File lib/tdl/thread_timer.rb, line 2 def initialize(timeout_millis, callback) @timeout_millis=timeout_millis @continue = true @callback = callback @timer_thread = nil end
Public Instance Methods
start()
click to toggle source
# File lib/tdl/thread_timer.rb, line 9 def start @continue = true @timer_thread = Thread.new { start_timeout } end
stop()
click to toggle source
# File lib/tdl/thread_timer.rb, line 14 def stop @timer_thread.terminate unless @timer_thread.nil? @timer_thread = nil @continue = false end
Private Instance Methods
start_timeout()
click to toggle source
# File lib/tdl/thread_timer.rb, line 22 def start_timeout total_millis = 0 interval_millis = 10 while @continue && total_millis < @timeout_millis sleep interval_millis / 1000.00 total_millis += interval_millis end if total_millis >= @timeout_millis @callback.call end end