'Bind an exchange to another exchange.
:param destination: The destination exchange to bind
:type destination: str or unicode
:param source: The source exchange to bind to
:type source: 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 Exchange.Bind-ok response
:rtype: `pika.frame.Method` having `method` attribute of type
`spec.Exchange.BindOk`'

def exchange_bind(self, destination=None, source=None, routing_key='', arguments=None):

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