count the bytes we receive/send
[nikiroo-utils.git] / src / be / nikiroo / utils / serial / server / Server.java
index f6dd7d86a13cbf94c4c08279458ae3724b8b2f5b..2dbc3bc2deb23739a35e73357f782bd9b611b8fe 100644 (file)
@@ -38,6 +38,9 @@ abstract class Server implements Runnable {
        private boolean exiting = false;
        private int counter;
 
+       private long bytesReceived;
+       private long bytesSent;
+
        private TraceHandler tracer = new TraceHandler();
 
        /**
@@ -146,6 +149,24 @@ abstract class Server implements Runnable {
                return port;
        }
 
+       /**
+        * The total amount of bytes received.
+        * 
+        * @return the amount of bytes received
+        */
+       public long getBytesReceived() {
+               return bytesReceived;
+       }
+
+       /**
+        * The total amount of bytes sent.
+        * 
+        * @return the amount of bytes sent
+        */
+       public long getBytesSent() {
+               return bytesSent;
+       }
+
        /**
         * Start the server (listen on the network for new connections).
         * <p>
@@ -209,10 +230,16 @@ abstract class Server implements Runnable {
                                new Thread(new Runnable() {
                                        @Override
                                        public void run() {
+                                               ConnectActionServer action = null;
                                                try {
-                                                       createConnectActionServer(s).connect();
+                                                       action = createConnectActionServer(s);
+                                                       action.connect();
                                                } finally {
                                                        count(-1);
+                                                       if (action != null) {
+                                                               bytesReceived += action.getBytesReceived();
+                                                               bytesSent += action.getBytesSent();
+                                                       }
                                                }
                                        }
                                }).start();