Module: Qpid::Proton::Handler::Acking

Included in:
IncomingMessageHandler
Defined in:
lib/handler/acking.rb

Overview

Mixing that provides methods for acknowledging a delivery.

Instance Method Summary collapse

Instance Method Details

#accept(delivery) ⇒ Object

Accept the receivered message.

Parameters:



30
31
32
# File 'lib/handler/acking.rb', line 30

def accept(delivery)
  self.settle(delivery, Qpid::Proton::Delivery::ACCEPTED)
end

#reject(delivery) ⇒ Object

Rejects a received message that is considered invalid or unprocessable.

Parameters:



38
39
40
# File 'lib/handler/acking.rb', line 38

def reject(delivery)
  self.settle(delivery, Qpid::Proton::Delivery::REJECTED)
end

#release(delivery, delivered = true) ⇒ Object

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

Parameters:

  • delivery (Qpid::Proton::Delivery)

    The delivery

  • delivered (Boolean) (defaults to: true)

    True if this was considered a delivery attempt.



49
50
51
52
53
54
55
# 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) ⇒ Object

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

Parameters:

  • delivery (Qpid::Proton::Delivery)

    The delivery.

  • state (Fixnum) (defaults to: nil)

    The delivery state.



63
64
65
66
# File 'lib/handler/acking.rb', line 63

def settle(delivery, state = nil)
  delivery.update(state) unless state.nil?
  delivery.settle
end