Class: Rack::Timeout::Scheduler::RepeatEvent

Inherits:
RunEvent
  • Object
show all
Defined in:
lib/rack/timeout/support/scheduler.rb

Instance Attribute Summary

Attributes inherited from RunEvent

#monotime, #proc

Instance Method Summary collapse

Methods inherited from RunEvent

#cancel!, #cancelled?

Constructor Details

#initialize(monotime, proc, every) ⇒ RepeatEvent

Returns a new instance of RepeatEvent.



39
40
41
42
43
44
# File 'lib/rack/timeout/support/scheduler.rb', line 39

def initialize(monotime, proc, every)
  @start = monotime
  @every = every
  @iter  = 0
  super(monotime, proc)
end

Instance Method Details

#run!Object



46
47
48
49
50
# File 'lib/rack/timeout/support/scheduler.rb', line 46

def run!
  super
ensure
  self.monotime = @start + @every * (@iter += 1) until monotime >= Rack::Timeout::MonotonicTime.fsecs
end