'Bind the queue to the specified exchange
:param queue: The queue to bind to the exchange
:type queue: str or unicode
:param exchange: The source exchange to bind to
:type exchange: str or unicode
:param routing_key: The routing key to bind on
:type routing_key: str or unicode
:param dict arguments: Custom key/value pair arguments for the binding
:returns: Method frame from the Queue.Bind-ok response
:rtype: `pika.frame.Method` having `method` attribute of type
`spec.Queue.BindOk`'

def queue_bind(self, queue, exchange, routing_key=None, arguments=None):

    with _CallbackResult(self._MethodFrameCallbackResultArgs) as bind_ok_result:
        self._impl.queue_bind(callback=bind_ok_result.set_value_once, queue=queue, exchange=exchange, routing_key=routing_key, nowait=False, arguments=arguments)
        self._flush_output(bind_ok_result.is_ready)
        return bind_ok_result.value.method_frame
