diff --git a/protonj2/src/main/java/org/apache/qpid/protonj2/engine/impl/ProtonLinkCreditState.java b/protonj2/src/main/java/org/apache/qpid/protonj2/engine/impl/ProtonLinkCreditState.java index 14122586..9a2558af 100644 --- a/protonj2/src/main/java/org/apache/qpid/protonj2/engine/impl/ProtonLinkCreditState.java +++ b/protonj2/src/main/java/org/apache/qpid/protonj2/engine/impl/ProtonLinkCreditState.java @@ -120,6 +120,10 @@ public void updateDeliveryCount(int deliveryCount) { this.deliveryCount = deliveryCount; } + public void updateEcho(boolean echo) { + this.echo = echo; + } + void remoteFlow(Flow flow) { remoteDeliveryCount = flow.getDeliveryCount(); remoteLinkCredit = flow.getLinkCredit(); diff --git a/protonj2/src/main/java/org/apache/qpid/protonj2/engine/impl/ProtonReceiver.java b/protonj2/src/main/java/org/apache/qpid/protonj2/engine/impl/ProtonReceiver.java index a0d4bd9b..b3972a14 100644 --- a/protonj2/src/main/java/org/apache/qpid/protonj2/engine/impl/ProtonReceiver.java +++ b/protonj2/src/main/java/org/apache/qpid/protonj2/engine/impl/ProtonReceiver.java @@ -446,6 +446,9 @@ protected ProtonReceiver decorateOutgoingFlow(Flow flow) { flow.setDeliveryCount(getCreditState().getDeliveryCount()); } flow.setDrain(isDraining()); + if (getCreditState().isEcho()) { + flow.setEcho(true); + } return this; }