# File lib/bunny/queue08.rb, line 358
          def unbind(exchange, opts = {})
            exchange = exchange.respond_to?(:name) ? exchange.name : exchange
        
                        # ignore the :nowait option if passed, otherwise program will hang waiting for a
                        # response that will not be sent by the server
                        opts.delete(:nowait)

            client.send_frame(
              Qrack::Protocol::Queue::Unbind.new({ :queue => name,
                                                                                                                                                      :exchange => exchange,
                                                                                                                                                      :routing_key => opts.delete(:key),
                                                                                                                                                      :nowait => false }.merge(opts)
              )
            )
        
                        method = client.next_method

                        client.check_response(method,        Qrack::Protocol::Queue::UnbindOk, "Error unbinding queue #{name}")
                                
                        # return message
                        :unbind_ok
          end