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
-
#accept(delivery) ⇒ Object
Accept the receivered message.
-
#reject(delivery) ⇒ Object
Rejects a received message that is considered invalid or unprocessable.
-
#release(delivery, delivered = true) ⇒ Object
Releases a received message, making it available at the source for any other interested receiver.
-
#settle(delivery, state = nil) ⇒ Object
Settles the specified delivery.
Instance Method Details
#accept(delivery) ⇒ Object
Accept the receivered message.
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.
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.
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.
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 |