Remember and expose the start time of a connection.
authorDavid ‘Bombe’ Roden <bombe@pterodactylus.net>
Tue, 28 May 2013 10:59:11 +0000 (12:59 +0200)
committerDavid ‘Bombe’ Roden <bombe@pterodactylus.net>
Tue, 28 May 2013 10:59:11 +0000 (12:59 +0200)
src/main/java/net/pterodactylus/sonitus/data/Pipeline.java

index ae4158d..45d20bf 100644 (file)
@@ -330,6 +330,9 @@ public class Pipeline implements Iterable<ControlledComponent> {
                /** The executor service. */
                private final ExecutorService executorService;
 
+               /** The time the connection was started. */
+               private long startTime;
+
                /** The number of copied bytes. */
                private long counter;
 
@@ -356,6 +359,16 @@ public class Pipeline implements Iterable<ControlledComponent> {
                //
 
                /**
+                * Returns the time this connection was started.
+                *
+                * @return The time this connection was started (in milliseconds since Jan 1,
+                *         1970 UTC)
+                */
+               public long startTime() {
+                       return startTime;
+               }
+
+               /**
                 * Returns the number of bytes that this connection has received from its
                 * source during its lifetime.
                 *
@@ -380,7 +393,7 @@ public class Pipeline implements Iterable<ControlledComponent> {
 
                @Override
                public void run() {
-                       Metadata firstMetadata = null;
+                       startTime = System.currentTimeMillis();
                        while (!stopped.get()) {
                                try {
                                        final byte[] buffer;