# File lib/bunny/queue09.rb, line 100
          def bind(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::Protocol09::Queue::Bind.new({ :queue => name,
                                                                                                                                              :exchange => exchange,
                                                                                                                                              :routing_key => opts.delete(:key),
                                                                                                                                              :nowait => false,
                                                                                                                                              :reserved_1 => 0 }.merge(opts))
            )

                        method = client.next_method

                        client.check_response(method,        Qrack::Protocol09::Queue::BindOk,
                                "Error binding queue: #{name} to exchange: #{exchange}")

                        # return message
                        :bind_ok
          end