'Reject a message by delivery_tag.
Explicitly notify the broker that the channel associated
with this QoS object is rejecting the message that was previously
delivered.
If requeue is False, then the message is not requeued for delivery
to another consumer. If requeue is True, then the message is
requeued for delivery to another consumer.
:param delivery_tag: The delivery tag associated with the message
to be rejected.
:type delivery_tag: uuid.UUID
:keyword requeue: If True, the broker will be notified to requeue
the message. If False, the broker will be told to drop the
message entirely. In both cases, the message will be removed
from this object.
:type requeue: bool'

def reject(self, delivery_tag, requeue=False):

    message = self._not_yet_acked.pop(delivery_tag)
    QpidDisposition = qpid.messaging.Disposition
    if requeue:
        disposition = QpidDisposition(qpid.messaging.RELEASED)
    else:
        disposition = QpidDisposition(qpid.messaging.REJECTED)
    self.session.acknowledge(message=message, disposition=disposition)
