/** The executor service. */
private final ExecutorService executorService;
+ /** The time the connection was started. */
+ private long startTime;
+
/** The number of copied bytes. */
private long counter;
public Connection(Source source, Collection<Sink> sinks) {
this.source = source;
this.sinks = sinks;
- if (sinks.size() == 1) {
+ if (sinks.size() < 2) {
executorService = MoreExecutors.sameThreadExecutor();
} else {
executorService = Executors.newCachedThreadPool();
//
/**
+ * 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.
*
@Override
public void run() {
- Metadata firstMetadata = null;
+ startTime = System.currentTimeMillis();
while (!stopped.get()) {
try {
final byte[] buffer;