# File lib/amqp/queue.rb, line 258
    def pop(opts = {}, &blk)
      if blk
        @on_pop = blk
        @on_pop_opts = opts
      end

      @mq.callback {
        @mq.get_queue { |q|
          q.push(self)
          @mq.send Protocol::Basic::Get.new({ :queue => name,
                                              :consumer_tag => name,
                                              :no_ack => !opts[:ack],
                                              :nowait => true }.merge(opts))
        }
      }

      self
    end