# File lib/mq/exchange.rb, line 191
    def initialize mq, type, name, opts = {}
      @mq = mq
      @type, @name, @opts = type, name, opts
      @mq.exchanges[@name = name] ||= self
      @key = opts[:key]
      
      unless name == "amq.#{type}" or name == '' or opts[:no_declare]
        @mq.callback{
          @mq.send Protocol::Exchange::Declare.new({ :exchange => name,
                                                     :type => type,
                                                     :nowait => true }.merge(opts))
        }
      end
    end