# File lib/amq/client/async/queue.rb, line 54
        def initialize(connection, channel, name = AMQ::Protocol::EMPTY_STRING)
          raise ArgumentError.new("queue name must not be nil; if you want broker to generate queue name for you, pass an empty string") if name.nil?

          super(connection)

          @name         = name
          # this has to stay true even after queue.declare-ok arrives. MK.
          @server_named = @name.empty?
          if @server_named
            self.on_connection_interruption do
              # server-named queue need to get new names after recovery. MK.
              @name = AMQ::Protocol::EMPTY_STRING
            end
          end

          @channel      = channel

          # primarily for autorecovery. MK.
          @bindings  = Array.new

          @consumers = Hash.new
        end