enable deciding whether a detach frame should be responded to, as it might be a response frame we are expecting
Project: http://git-wip-us.apache.org/repos/asf/qpid-jms/repo Commit: http://git-wip-us.apache.org/repos/asf/qpid-jms/commit/73f79da2 Tree: http://git-wip-us.apache.org/repos/asf/qpid-jms/tree/73f79da2 Diff: http://git-wip-us.apache.org/repos/asf/qpid-jms/diff/73f79da2 Branch: refs/heads/master Commit: 73f79da2de9f47910197d63e70c212552b0be700 Parents: 7537ee8 Author: Robert Gemmell <[email protected]> Authored: Wed Nov 12 11:25:08 2014 +0000 Committer: Robert Gemmell <[email protected]> Committed: Wed Nov 12 10:16:16 2014 +0000 ---------------------------------------------------------------------- .../jms/integration/SenderIntegrationTest.java | 2 +- .../jms/integration/SessionIntegrationTest.java | 4 +-- .../qpid/jms/test/testpeer/TestAmqpPeer.java | 35 +++++++++++--------- 3 files changed, 22 insertions(+), 19 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/73f79da2/qpid-jms-client/src/test/java/org/apache/qpid/jms/integration/SenderIntegrationTest.java ---------------------------------------------------------------------- diff --git a/qpid-jms-client/src/test/java/org/apache/qpid/jms/integration/SenderIntegrationTest.java b/qpid-jms-client/src/test/java/org/apache/qpid/jms/integration/SenderIntegrationTest.java index dd3318e..8d573c3 100644 --- a/qpid-jms-client/src/test/java/org/apache/qpid/jms/integration/SenderIntegrationTest.java +++ b/qpid-jms-client/src/test/java/org/apache/qpid/jms/integration/SenderIntegrationTest.java @@ -66,7 +66,7 @@ public class SenderIntegrationTest extends QpidJmsTestCase { Queue queue = session.createQueue("myQueue"); MessageProducer producer = session.createProducer(queue); - testPeer.expectDetach(true, true); + testPeer.expectDetach(true, true, true); producer.close(); testPeer.waitForAllHandlersToComplete(1000); http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/73f79da2/qpid-jms-client/src/test/java/org/apache/qpid/jms/integration/SessionIntegrationTest.java ---------------------------------------------------------------------- diff --git a/qpid-jms-client/src/test/java/org/apache/qpid/jms/integration/SessionIntegrationTest.java b/qpid-jms-client/src/test/java/org/apache/qpid/jms/integration/SessionIntegrationTest.java index 7cfaf01..06fe1fb 100644 --- a/qpid-jms-client/src/test/java/org/apache/qpid/jms/integration/SessionIntegrationTest.java +++ b/qpid-jms-client/src/test/java/org/apache/qpid/jms/integration/SessionIntegrationTest.java @@ -266,7 +266,7 @@ public class SessionIntegrationTest extends QpidJmsTestCase { testPeer.expectSenderAttach(targetMatcher2, false, false); testPeer.expectTransfer(messageMatcher); - testPeer.expectDetach(true, true); + testPeer.expectDetach(true, true, true); Message message = session.createMessage(); producer.send(dest, message); @@ -274,7 +274,7 @@ public class SessionIntegrationTest extends QpidJmsTestCase { //Repeat the send and observe another attach->transfer->detach. testPeer.expectSenderAttach(targetMatcher2, false, false); testPeer.expectTransfer(messageMatcher); - testPeer.expectDetach(true, true); + testPeer.expectDetach(true, true, true); producer.send(dest, message); http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/73f79da2/qpid-jms-client/src/test/java/org/apache/qpid/jms/test/testpeer/TestAmqpPeer.java ---------------------------------------------------------------------- diff --git a/qpid-jms-client/src/test/java/org/apache/qpid/jms/test/testpeer/TestAmqpPeer.java b/qpid-jms-client/src/test/java/org/apache/qpid/jms/test/testpeer/TestAmqpPeer.java index 8ecbce6..e73b231 100644 --- a/qpid-jms-client/src/test/java/org/apache/qpid/jms/test/testpeer/TestAmqpPeer.java +++ b/qpid-jms-client/src/test/java/org/apache/qpid/jms/test/testpeer/TestAmqpPeer.java @@ -666,29 +666,32 @@ public class TestAmqpPeer implements AutoCloseable addHandler(attachMatcher); } - public void expectDetach(boolean expectClosed, boolean replyClosed) + public void expectDetach(boolean expectClosed, boolean sendResponse, boolean replyClosed) { final DetachMatcher detachMatcher = new DetachMatcher().withClosed(equalTo(expectClosed)); - final DetachFrame detachResponse = new DetachFrame(); - detachResponse.setHandle(UnsignedInteger.valueOf(_nextLinkHandle - 1)); // TODO: this needs to be the value used in the attach response - if(replyClosed) + if (sendResponse) { - detachResponse.setClosed(replyClosed); - } - - // The response frame channel will be dynamically set based on the incoming frame. Using the -1 is an illegal placeholder. - final FrameSender detachResponseSender = new FrameSender(this, FrameType.AMQP, -1, detachResponse, null); - detachResponseSender.setValueProvider(new ValueProvider() - { - @Override - public void setValues() + final DetachFrame detachResponse = new DetachFrame(); + detachResponse.setHandle(UnsignedInteger.valueOf(_nextLinkHandle - 1)); // TODO: this needs to be the value used in the attach response + if(replyClosed) { - detachResponseSender.setChannel(detachMatcher.getActualChannel()); + detachResponse.setClosed(replyClosed); } - }); - detachMatcher.onSuccess(detachResponseSender); + // The response frame channel will be dynamically set based on the incoming frame. Using the -1 is an illegal placeholder. + final FrameSender detachResponseSender = new FrameSender(this, FrameType.AMQP, -1, detachResponse, null); + detachResponseSender.setValueProvider(new ValueProvider() + { + @Override + public void setValues() + { + detachResponseSender.setChannel(detachMatcher.getActualChannel()); + } + }); + + detachMatcher.onSuccess(detachResponseSender); + } addHandler(detachMatcher); } --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
