diff --git a/briar-api/src/org/briarproject/api/reliability/ReliabilityExecutor.java b/briar-api/src/org/briarproject/api/reliability/ReliabilityExecutor.java deleted file mode 100644 index dbb2ddcd56996853c68c1a3d453c4b8324ba38f3..0000000000000000000000000000000000000000 --- a/briar-api/src/org/briarproject/api/reliability/ReliabilityExecutor.java +++ /dev/null @@ -1,17 +0,0 @@ -package org.briarproject.api.reliability; - -import static java.lang.annotation.ElementType.FIELD; -import static java.lang.annotation.ElementType.METHOD; -import static java.lang.annotation.ElementType.PARAMETER; -import static java.lang.annotation.RetentionPolicy.RUNTIME; - -import java.lang.annotation.Retention; -import java.lang.annotation.Target; - -import com.google.inject.BindingAnnotation; - -/** Annotation for injecting the executor used by reliability layers. */ -@BindingAnnotation -@Target({ FIELD, METHOD, PARAMETER }) -@Retention(RUNTIME) -public @interface ReliabilityExecutor {} \ No newline at end of file diff --git a/briar-core/src/org/briarproject/reliability/ReliabilityLayerFactoryImpl.java b/briar-core/src/org/briarproject/reliability/ReliabilityLayerFactoryImpl.java index 0cb3716cbf98615b897fbf5e42eee68cb2b7e8c9..7aee1db755b395e602cf7e2a296ae1d4a198cc9f 100644 --- a/briar-core/src/org/briarproject/reliability/ReliabilityLayerFactoryImpl.java +++ b/briar-core/src/org/briarproject/reliability/ReliabilityLayerFactoryImpl.java @@ -4,7 +4,7 @@ import java.util.concurrent.Executor; import javax.inject.Inject; -import org.briarproject.api.reliability.ReliabilityExecutor; +import org.briarproject.api.lifecycle.IoExecutor; import org.briarproject.api.reliability.ReliabilityLayer; import org.briarproject.api.reliability.ReliabilityLayerFactory; import org.briarproject.api.reliability.WriteHandler; @@ -13,16 +13,16 @@ import org.briarproject.system.SystemClock; class ReliabilityLayerFactoryImpl implements ReliabilityLayerFactory { - private final Executor executor; + private final Executor ioExecutor; private final Clock clock; @Inject - ReliabilityLayerFactoryImpl(@ReliabilityExecutor Executor executor) { - this.executor = executor; + ReliabilityLayerFactoryImpl(@IoExecutor Executor ioExecutor) { + this.ioExecutor = ioExecutor; clock = new SystemClock(); } public ReliabilityLayer createReliabilityLayer(WriteHandler writeHandler) { - return new ReliabilityLayerImpl(executor, clock, writeHandler); + return new ReliabilityLayerImpl(ioExecutor, clock, writeHandler); } } diff --git a/briar-core/src/org/briarproject/reliability/ReliabilityModule.java b/briar-core/src/org/briarproject/reliability/ReliabilityModule.java index 691b52cb79df013ec139e1a9f8be462540422faf..aabd18e8754d40674096aa71fc38246c96b58f52 100644 --- a/briar-core/src/org/briarproject/reliability/ReliabilityModule.java +++ b/briar-core/src/org/briarproject/reliability/ReliabilityModule.java @@ -1,46 +1,14 @@ package org.briarproject.reliability; -import static java.util.concurrent.TimeUnit.SECONDS; - -import java.util.concurrent.BlockingQueue; -import java.util.concurrent.Executor; -import java.util.concurrent.ExecutorService; -import java.util.concurrent.RejectedExecutionHandler; -import java.util.concurrent.SynchronousQueue; -import java.util.concurrent.ThreadPoolExecutor; - -import javax.inject.Singleton; - -import org.briarproject.api.lifecycle.LifecycleManager; -import org.briarproject.api.reliability.ReliabilityExecutor; import org.briarproject.api.reliability.ReliabilityLayerFactory; import com.google.inject.AbstractModule; -import com.google.inject.Provides; public class ReliabilityModule extends AbstractModule { - private final ExecutorService reliabilityExecutor; - - public ReliabilityModule() { - // The thread pool is unbounded, so use direct handoff - BlockingQueue<Runnable> queue = new SynchronousQueue<Runnable>(); - // Discard tasks that are submitted during shutdown - RejectedExecutionHandler policy = - new ThreadPoolExecutor.DiscardPolicy(); - // Create threads as required and keep them in the pool for 60 seconds - reliabilityExecutor = new ThreadPoolExecutor(0, Integer.MAX_VALUE, - 60, SECONDS, queue, policy); - } - + @Override protected void configure() { bind(ReliabilityLayerFactory.class).to( ReliabilityLayerFactoryImpl.class); } - - @Provides @Singleton @ReliabilityExecutor - Executor getReliabilityExecutor(LifecycleManager lifecycleManager) { - lifecycleManager.registerForShutdown(reliabilityExecutor); - return reliabilityExecutor; - } }