class Gamelan::Queue

Public Class Methods

new(scheduler) click to toggle source
# File lib/mtk/io/midi_output.rb, line 232
def initialize(scheduler)
  @scheduler = scheduler
  @queue     = PriorityQueue.new(10000) { |a,b|
    a.priority <=> b.priority
  }
end

Public Instance Methods

<<(task)
Alias for: push
push(task) click to toggle source
# File lib/mtk/io/midi_output.rb, line 251
def push(task)
  @queue.push(task, task.priority)
end
Also aliased as: <<
ready?() click to toggle source
# File lib/mtk/io/midi_output.rb, line 239
def ready?
  if top = @queue.peek
    top.delay < @scheduler.phase
  else
    false
  end
end