module Qpid::Proton::Handler::Acking

Mixing that provides methods for acknowledging a delivery.

Public Instance Methods

accept(delivery) click to toggle source

Accept the receivered message.

@param delivery [Qpid::Proton::Delivery] The delivery.

# File lib/handler/acking.rb, line 30
def accept(delivery)
  self.settle(delivery, Qpid::Proton::Delivery::ACCEPTED)
end
reject(delivery) click to toggle source

Rejects a received message that is considered invalid or unprocessable.

@param delivery [Qpid::Proton::Delivery] The delivery.

# File lib/handler/acking.rb, line 38
def reject(delivery)
  self.settle(delivery, Qpid::Proton::Delivery::REJECTED)
end
release(delivery, delivered = true) click to toggle source

Releases a received message, making it available at the source for any other interested receiver.

@param delivery [Qpid::Proton::Delivery] The delivery @param delivered [Boolean] True if this was considered a delivery

attempt.
# File lib/handler/acking.rb, line 49
def release(delivery, delivered = true)
  if delivered
    self.settle(delivery, Qpid::Proton::Delivery::MODIFIED)
  else
    self.settle(delivery, Qpid::Proton::Delivery::RELEASED)
  end
end
settle(delivery, state = nil) click to toggle source

Settles the specified delivery. Updates the delivery state if a state is specified.

@param delivery [Qpid::Proton::Delivery] The delivery. @param state [Fixnum] The delivery state.

# File lib/handler/acking.rb, line 63
def settle(delivery, state = nil)
  delivery.update(state) unless state.nil?
  delivery.settle
end