class UV::ScheduledEvent
Attributes
created[R]
last_scheduled[R]
next_scheduled[R]
trigger_count[R]
Public Class Methods
new(scheduler)
click to toggle source
Calls superclass method
# File lib/uv-rays/scheduler.rb, line 20 def initialize(scheduler) # Create a dummy deferrable reactor = scheduler.reactor defer = reactor.defer # Record a backtrace of where the schedule was created @trace = caller # Setup common event variables @scheduler = scheduler @created = reactor.now @last_scheduled = @created @trigger_count = 0 # init the promise super(reactor, defer) end
Public Instance Methods
<=>(anOther)
click to toggle source
required for comparable
# File lib/uv-rays/scheduler.rb, line 57 def <=>(anOther) @next_scheduled <=> anOther.next_scheduled end
cancel()
click to toggle source
reject the promise
# File lib/uv-rays/scheduler.rb, line 62 def cancel @defer.reject(:cancelled) end
inspect()
click to toggle source
Provide relevant inspect information
# File lib/uv-rays/scheduler.rb, line 39 def inspect insp = String.new("#<#{self.class}:#{"0x00%x" % (self.__id__ << 1)} ") insp << "trigger_count=#{@trigger_count} " insp << "config=#{info} " if self.respond_to?(:info, true) insp << "next_scheduled=#{to_time(@next_scheduled)} " insp << "last_scheduled=#{to_time(@last_scheduled)} created=#{to_time(@created)}>" insp end
Also aliased as: to_s
to_time(internal_time)
click to toggle source
# File lib/uv-rays/scheduler.rb, line 49 def to_time(internal_time) if internal_time ((internal_time + @scheduler.time_diff) / 1000).to_i end end
trigger()
click to toggle source
notify listeners of the event
# File lib/uv-rays/scheduler.rb, line 67 def trigger @trigger_count += 1 @defer.notify(@reactor.now, self) end