Repository: qpid-jms Updated Branches: refs/heads/master 5bf3c21a4 -> 5f5e2c2b1
NO-JIRA: add support for delaying frame sends for a specified time Project: http://git-wip-us.apache.org/repos/asf/qpid-jms/repo Commit: http://git-wip-us.apache.org/repos/asf/qpid-jms/commit/a9e8f1f6 Tree: http://git-wip-us.apache.org/repos/asf/qpid-jms/tree/a9e8f1f6 Diff: http://git-wip-us.apache.org/repos/asf/qpid-jms/diff/a9e8f1f6 Branch: refs/heads/master Commit: a9e8f1f60099f415c7ccfc8bad9ad868eb17b596 Parents: 5bf3c21 Author: Robert Gemmell <[email protected]> Authored: Fri Jun 26 08:50:36 2015 +0100 Committer: Robert Gemmell <[email protected]> Committed: Fri Jun 26 15:03:17 2015 +0100 ---------------------------------------------------------------------- .../qpid/jms/test/testpeer/FrameSender.java | 7 ++++++- .../qpid/jms/test/testpeer/TestAmqpPeer.java | 20 ++++++++++++++++---- 2 files changed, 22 insertions(+), 5 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/a9e8f1f6/qpid-jms-client/src/test/java/org/apache/qpid/jms/test/testpeer/FrameSender.java ---------------------------------------------------------------------- diff --git a/qpid-jms-client/src/test/java/org/apache/qpid/jms/test/testpeer/FrameSender.java b/qpid-jms-client/src/test/java/org/apache/qpid/jms/test/testpeer/FrameSender.java index ed34384..9e34d4a 100644 --- a/qpid-jms-client/src/test/java/org/apache/qpid/jms/test/testpeer/FrameSender.java +++ b/qpid-jms-client/src/test/java/org/apache/qpid/jms/test/testpeer/FrameSender.java @@ -29,6 +29,7 @@ public class FrameSender implements AmqpPeerRunnable private ValueProvider _valueProvider; private int _channel; private boolean _deferWrite = false; + private long _sendDelay = 0; FrameSender(TestAmqpPeer testAmqpPeer, FrameType type, int channel, ListDescribedType frameDescribedType, Binary framePayload) { @@ -47,7 +48,7 @@ public class FrameSender implements AmqpPeerRunnable _valueProvider.setValues(); } - _testAmqpPeer.sendFrame(_type, _channel, _frameDescribedType, _framePayload, _deferWrite); + _testAmqpPeer.sendFrame(_type, _channel, _frameDescribedType, _framePayload, _deferWrite, _sendDelay); } public FrameSender setValueProvider(ValueProvider valueProvider) @@ -67,4 +68,8 @@ public class FrameSender implements AmqpPeerRunnable _deferWrite = deferWrite; return this; } + + public void setSendDelay(long _sendDelay) { + this._sendDelay = _sendDelay; + } } \ No newline at end of file http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/a9e8f1f6/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 a587851..0961d5a 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 @@ -320,10 +320,10 @@ public class TestAmqpPeer implements AutoCloseable public void sendEmptyFrame(boolean deferWrite) { - sendFrame(FrameType.AMQP, 0, null, null, deferWrite); + sendFrame(FrameType.AMQP, 0, null, null, deferWrite, 0); } - void sendFrame(FrameType type, int channel, DescribedType frameDescribedType, Binary framePayload, boolean deferWrite) + void sendFrame(FrameType type, int channel, DescribedType frameDescribedType, Binary framePayload, boolean deferWrite, long sendDelay) { if(channel < 0) { @@ -331,6 +331,18 @@ public class TestAmqpPeer implements AutoCloseable } LOGGER.debug("About to send: {}", frameDescribedType); + + if(sendDelay > 0) + { + LOGGER.debug("Delaying send by {} ms", sendDelay); + try { + Thread.sleep(sendDelay); + } catch (InterruptedException e) { + Thread.currentThread().interrupt(); + throw new RuntimeException("Interrupted before send", e); + } + } + byte[] output = AmqpDataFramer.encodeFrame(type, channel, frameDescribedType, framePayload); if(deferWrite && _deferredBytes == null) @@ -397,7 +409,7 @@ public class TestAmqpPeer implements AutoCloseable FrameType.SASL, 0, new SaslOutcomeFrame().setCode(SASL_OK), null, - false); + false, 0); // Now that we processed the SASL layer AMQP header, reset the // peer to expect the non-SASL AMQP header. @@ -519,7 +531,7 @@ public class TestAmqpPeer implements AutoCloseable FrameType.SASL, 0, new SaslOutcomeFrame().setCode(SASL_FAIL_AUTH), null, - false); + false, 0); _driverRunnable.expectHeader(); } }); --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
