From 9dbabdecebcfee8ac0a7e1da93e20236f2b54d7e Mon Sep 17 00:00:00 2001
From: akwizgran <akwizgran@users.sourceforge.net>
Date: Sat, 8 Nov 2014 16:40:22 +0000
Subject: [PATCH] Document the contract of DatabaseExecutor.

---
 .../src/org/briarproject/api/db/DatabaseExecutor.java     | 8 +++++++-
 briar-core/src/org/briarproject/crypto/CryptoModule.java  | 3 ++-
 briar-core/src/org/briarproject/db/DatabaseModule.java    | 2 +-
 3 files changed, 10 insertions(+), 3 deletions(-)

diff --git a/briar-api/src/org/briarproject/api/db/DatabaseExecutor.java b/briar-api/src/org/briarproject/api/db/DatabaseExecutor.java
index 3c0e44a73d..22d04d0150 100644
--- a/briar-api/src/org/briarproject/api/db/DatabaseExecutor.java
+++ b/briar-api/src/org/briarproject/api/db/DatabaseExecutor.java
@@ -10,7 +10,13 @@ import java.lang.annotation.Target;
 
 import com.google.inject.BindingAnnotation;
 
-/** Annotation for injecting the executor for database tasks. */
+/**
+ * Annotation for injecting the executor for database tasks.
+ * <p>
+ * The contract of this executor is that tasks are executed in the order
+ * they're submitted, tasks are not executed concurrently, and submitting a
+ * task will never block.
+ */
 @BindingAnnotation
 @Target({ FIELD, METHOD, PARAMETER })
 @Retention(RUNTIME)
diff --git a/briar-core/src/org/briarproject/crypto/CryptoModule.java b/briar-core/src/org/briarproject/crypto/CryptoModule.java
index f0eb56f05d..d7dd2fdb49 100644
--- a/briar-core/src/org/briarproject/crypto/CryptoModule.java
+++ b/briar-core/src/org/briarproject/crypto/CryptoModule.java
@@ -28,7 +28,7 @@ public class CryptoModule extends AbstractModule {
 	private final ExecutorService cryptoExecutor;
 
 	public CryptoModule() {
-		// The queue is unbounded, so tasks can be dependent
+		// Use an unbounded queue
 		BlockingQueue<Runnable> queue = new LinkedBlockingQueue<Runnable>();
 		// Discard tasks that are submitted during shutdown
 		RejectedExecutionHandler policy =
@@ -38,6 +38,7 @@ public class CryptoModule extends AbstractModule {
 				60, SECONDS, queue, policy);
 	}
 
+	@Override
 	protected void configure() {
 		bind(CryptoComponent.class).to(
 				CryptoComponentImpl.class).in(Singleton.class);
diff --git a/briar-core/src/org/briarproject/db/DatabaseModule.java b/briar-core/src/org/briarproject/db/DatabaseModule.java
index 824b3e9dc6..b800defe44 100644
--- a/briar-core/src/org/briarproject/db/DatabaseModule.java
+++ b/briar-core/src/org/briarproject/db/DatabaseModule.java
@@ -29,7 +29,7 @@ public class DatabaseModule extends AbstractModule {
 	private final ExecutorService databaseExecutor;
 
 	public DatabaseModule() {
-		// The queue is unbounded, so tasks can be dependent
+		// Use an unbounded queue
 		BlockingQueue<Runnable> queue = new LinkedBlockingQueue<Runnable>();
 		// Discard tasks that are submitted during shutdown
 		RejectedExecutionHandler policy =
-- 
GitLab