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]

Reply via email to