File tree Expand file tree Collapse file tree 2 files changed +12
-3
lines changed Expand file tree Collapse file tree 2 files changed +12
-3
lines changed Original file line number Diff line number Diff line change @@ -104,7 +104,7 @@ export class AmqpConsumer implements Consumer {
104104 start ( ) {
105105 this . receiverLink . on ( ReceiverEvents . message , ( context : EventContext ) => {
106106 if ( context . message && context . delivery ) {
107- const deliveryContext = new AmqpDeliveryContext ( context . delivery )
107+ const deliveryContext = new AmqpDeliveryContext ( context . delivery , this . receiverLink )
108108 this . params . messageHandler ( deliveryContext , context . message )
109109 }
110110 } )
Original file line number Diff line number Diff line change 1- import { Delivery } from "rhea"
1+ import { Delivery , Receiver } from "rhea"
22
33export interface DeliveryContext {
44 accept ( ) : void
@@ -7,17 +7,26 @@ export interface DeliveryContext {
77}
88
99export class AmqpDeliveryContext implements DeliveryContext {
10- constructor ( private readonly delivery : Delivery ) { }
10+ constructor (
11+ private readonly delivery : Delivery ,
12+ private readonly receiverLink : Receiver
13+ ) { }
1114
1215 accept ( ) : void {
16+ if ( this . receiverLink . is_closed ( ) ) throw new Error ( "Receiver link is closed" )
17+
1318 this . delivery . accept ( )
1419 }
1520
1621 discard ( ) : void {
22+ if ( this . receiverLink . is_closed ( ) ) throw new Error ( "Receiver link is closed" )
23+
1724 this . delivery . reject ( )
1825 }
1926
2027 requeue ( ) : void {
28+ if ( this . receiverLink . is_closed ( ) ) throw new Error ( "Receiver link is closed" )
29+
2130 this . delivery . release ( )
2231 }
2332}
You can’t perform that action at this time.
0 commit comments