Add timeout monitor for Bluetooth connections.

This commit is contained in:
akwizgran
2020-05-08 14:19:43 +01:00
parent 876efee1a8
commit f2f278c393
19 changed files with 280 additions and 50 deletions

View File

@@ -0,0 +1,8 @@
package org.briarproject.bramble.api.io;
import java.io.InputStream;
public interface TimeoutMonitor {
InputStream createTimeoutInputStream(InputStream in, long timeoutMs);
}

View File

@@ -11,6 +11,11 @@ public interface Clock {
*/
long currentTimeMillis();
/**
* @see System#nanoTime()
*/
long nanoTime();
/**
* @see Thread#sleep(long)
*/

View File

@@ -16,6 +16,11 @@ public class ArrayClock implements Clock {
return times[index++];
}
@Override
public long nanoTime() {
return times[index++] * 1_000_000;
}
@Override
public void sleep(long milliseconds) throws InterruptedException {
Thread.sleep(milliseconds);

View File

@@ -17,6 +17,11 @@ public class SettableClock implements Clock {
return time.get();
}
@Override
public long nanoTime() {
return time.get() * 1_000_000;
}
@Override
public void sleep(long milliseconds) throws InterruptedException {
Thread.sleep(milliseconds);