Repository: qpid-proton Updated Branches: refs/heads/master dd95103e5 -> 57d6dcc7f
PROTON-871: implement the needed frame counting bits to stop the shim making the IdleTimeoutTest skip when run Project: http://git-wip-us.apache.org/repos/asf/qpid-proton/repo Commit: http://git-wip-us.apache.org/repos/asf/qpid-proton/commit/57d6dcc7 Tree: http://git-wip-us.apache.org/repos/asf/qpid-proton/tree/57d6dcc7 Diff: http://git-wip-us.apache.org/repos/asf/qpid-proton/diff/57d6dcc7 Branch: refs/heads/master Commit: 57d6dcc7f73e77394cb2a01b1b1a089924ccee37 Parents: dd95103 Author: Robert Gemmell <[email protected]> Authored: Tue Apr 28 16:40:07 2015 +0100 Committer: Robert Gemmell <[email protected]> Committed: Tue Apr 28 16:41:00 2015 +0100 ---------------------------------------------------------------------- .../java/org/apache/qpid/proton/engine/Transport.java | 4 ++++ .../org/apache/qpid/proton/engine/impl/FrameParser.java | 10 +++++++++- .../org/apache/qpid/proton/engine/impl/FrameWriter.java | 7 +++++++ .../apache/qpid/proton/engine/impl/TransportImpl.java | 12 ++++++++++++ proton-j/src/main/resources/cengine.py | 5 ++++- 5 files changed, 36 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/57d6dcc7/proton-j/src/main/java/org/apache/qpid/proton/engine/Transport.java ---------------------------------------------------------------------- diff --git a/proton-j/src/main/java/org/apache/qpid/proton/engine/Transport.java b/proton-j/src/main/java/org/apache/qpid/proton/engine/Transport.java index 3f3f09f..d83f76b 100644 --- a/proton-j/src/main/java/org/apache/qpid/proton/engine/Transport.java +++ b/proton-j/src/main/java/org/apache/qpid/proton/engine/Transport.java @@ -229,4 +229,8 @@ public interface Transport extends Endpoint int getRemoteIdleTimeout(); long tick(long now); + + long getFramesInput(); + + long getFramesOutput(); } http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/57d6dcc7/proton-j/src/main/java/org/apache/qpid/proton/engine/impl/FrameParser.java ---------------------------------------------------------------------- diff --git a/proton-j/src/main/java/org/apache/qpid/proton/engine/impl/FrameParser.java b/proton-j/src/main/java/org/apache/qpid/proton/engine/impl/FrameParser.java index 7b1445e..4c4f137 100644 --- a/proton-j/src/main/java/org/apache/qpid/proton/engine/impl/FrameParser.java +++ b/proton-j/src/main/java/org/apache/qpid/proton/engine/impl/FrameParser.java @@ -71,6 +71,8 @@ class FrameParser implements TransportInput private State _state = State.HEADER0; + private long _framesInput = 0; + /** the stated size of the current frame */ private int _size; @@ -366,9 +368,10 @@ class FrameParser implements TransportInput try { + _framesInput += 1; + if (frameBodySize > 0) { - _decoder.setByteBuffer(in); Object val = _decoder.readObject(); _decoder.setByteBuffer(null); @@ -568,4 +571,9 @@ class FrameParser implements TransportInput _size = 0; _state = State.SIZE_0; } + + long getFramesInput() + { + return _framesInput; + } } http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/57d6dcc7/proton-j/src/main/java/org/apache/qpid/proton/engine/impl/FrameWriter.java ---------------------------------------------------------------------- diff --git a/proton-j/src/main/java/org/apache/qpid/proton/engine/impl/FrameWriter.java b/proton-j/src/main/java/org/apache/qpid/proton/engine/impl/FrameWriter.java index b5f718d..382c726 100644 --- a/proton-j/src/main/java/org/apache/qpid/proton/engine/impl/FrameWriter.java +++ b/proton-j/src/main/java/org/apache/qpid/proton/engine/impl/FrameWriter.java @@ -51,6 +51,7 @@ class FrameWriter private int _frameStart = 0; private int _payloadStart; private int _performativeSize; + private long _framesOutput = 0; FrameWriter(EncoderImpl encoder, int maxFrameSize, byte frameType, Ref<ProtocolTracer> protocolTracer, TransportImpl transport) @@ -185,6 +186,8 @@ class FrameWriter } endFrame(channel); + + _framesOutput += 1; } void writeFrame(Object frameBody) @@ -215,4 +218,8 @@ class FrameWriter return size; } + long getFramesOutput() + { + return _framesOutput; + } } http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/57d6dcc7/proton-j/src/main/java/org/apache/qpid/proton/engine/impl/TransportImpl.java ---------------------------------------------------------------------- diff --git a/proton-j/src/main/java/org/apache/qpid/proton/engine/impl/TransportImpl.java b/proton-j/src/main/java/org/apache/qpid/proton/engine/impl/TransportImpl.java index c40cdee..a5c8ba9 100644 --- a/proton-j/src/main/java/org/apache/qpid/proton/engine/impl/TransportImpl.java +++ b/proton-j/src/main/java/org/apache/qpid/proton/engine/impl/TransportImpl.java @@ -1508,6 +1508,18 @@ public class TransportImpl extends EndpointImpl } @Override + public long getFramesOutput() + { + return _frameWriter.getFramesOutput(); + } + + @Override + public long getFramesInput() + { + return _frameParser.getFramesInput(); + } + + @Override public void close_head() { _outputProcessor.close_head(); http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/57d6dcc7/proton-j/src/main/resources/cengine.py ---------------------------------------------------------------------- diff --git a/proton-j/src/main/resources/cengine.py b/proton-j/src/main/resources/cengine.py index a2c210b..6c45f33 100644 --- a/proton-j/src/main/resources/cengine.py +++ b/proton-j/src/main/resources/cengine.py @@ -893,7 +893,10 @@ def pn_transport_get_remote_idle_timeout(trans): return trans.impl.getRemoteIdleTimeout() def pn_transport_get_frames_input(trans): - raise Skipped() + return trans.impl.getFramesInput() + +def pn_transport_get_frames_output(trans): + return trans.impl.getFramesOutput() def pn_transport_set_channel_max(trans, n): trans.impl.setChannelMax(n) --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
