class Rinda::NotifyTemplateEntry

def each # :yields: event, tuple

:yields: event, tuple
def each # :yields: event, tuple
  while !@done
    it = pop
    yield(it)
  end
rescue
ensure
  cancel
end

def initialize(place, event, tuple, expires=nil)

def initialize(place, event, tuple, expires=nil)
  ary = [event, Rinda::Template.new(tuple)]
  super(ary, expires)
  @queue = Queue.new
  @done = false
end

def notify(ev)

def notify(ev)
  @queue.push(ev)
end

def pop

def pop
  raise RequestExpiredError if @done
  it = @queue.pop
  @done = true if it[0] == 'close'
  return it
end