    # File lib/amqp/queue.rb, line 716
        def subscribe(opts = {}, &block)
          raise RuntimeError.new("This queue already has default consumer. Please instantiate AMQP::Consumer directly to register additional consumers.") if @default_consumer

          opts[:nowait] = false if (@on_confirm_subscribe = opts[:confirm])

          @channel.once_open do
            self.once_declared do
              self.consume(!opts[:ack], opts[:exclusive], (opts[:nowait] || block.nil?), opts[:no_local], nil, &opts[:confirm])

              self.on_delivery(&block)
            end
          end

          self
        end