'Called as the result of Basic.Return from broker in
publisher-acknowledgements mode. Saves the info as a ReturnedMessage
instance in self._puback_return.
:param pika.Channel channel: our self._impl channel
:param pika.spec.Basic.Return method:
:param pika.spec.BasicProperties properties: message properties
:param body: returned message body; empty string if no body
:type body: str, unicode'

def _on_puback_message_returned(self, channel, method, properties, body):

    assert (channel is self._impl), (channel.channel_number, self.channel_number)
    assert isinstance(method, pika.spec.Basic.Return), method
    assert isinstance(properties, pika.spec.BasicProperties), properties
    LOGGER.warn('Published    message    was    returned:    _delivery_confirmation=%s;    channel=%s;    method=%r;    properties=%r;    body_size=%d;    body_prefix=%.255r', self._delivery_confirmation, channel.channel_number, method, properties, (len(body) if (body is not None) else None), body)
    self._puback_return = ReturnedMessage(method, properties, body)
