# File lib/handler/incoming_message_handler.rb, line 34
    def on_delivery(event)
      delivery = event.delivery
      return unless delivery.link.receiver?
      if delivery.readable? && !delivery.partial?
        event.message = Qpid::Proton::Util::Engine.receive_message(delivery)
        if event.link.local_closed?
          if @auto_accept
            delivery.update(Qpid::Proton::Disposition::RELEASED)
            delivery.settle
          end
        else
          begin
            self.on_message(event)
            if @auto_accept
              delivery.update(Qpid::Proton::Disposition::ACCEPTED)
              delivery.settle
            end
          rescue Qpid::Proton::Reject
            delivery.update(Qpid::Proton::Disposition::REJECTED)
            delivery.settle
          rescue Qpid::Proton::Release
            delivery.update(Qpid::Proton::Disposition::MODIFIED)
            delivery.settle
          end
        end
      elsif delivery.updated? && delivery.settled?
        self.on_settled(event)
      end
    end