From f2e1723b24ea1a7c970112fdc71f90c5129625d0 Mon Sep 17 00:00:00 2001
From: akwizgran <akwizgran@users.sourceforge.net>
Date: Tue, 26 Jan 2016 10:31:32 +0000
Subject: [PATCH] Added thread safety documentation to interfaces.

---
 briar-api/src/org/briarproject/api/db/DatabaseComponent.java | 4 ++++
 briar-api/src/org/briarproject/api/event/EventListener.java  | 4 ++++
 2 files changed, 8 insertions(+)

diff --git a/briar-api/src/org/briarproject/api/db/DatabaseComponent.java b/briar-api/src/org/briarproject/api/db/DatabaseComponent.java
index c1dfc00724..48a67fb1df 100644
--- a/briar-api/src/org/briarproject/api/db/DatabaseComponent.java
+++ b/briar-api/src/org/briarproject/api/db/DatabaseComponent.java
@@ -30,6 +30,10 @@ import java.util.Map;
 /**
  * Encapsulates the database implementation and exposes high-level operations
  * to other components.
+ * <p>
+ * This interface's methods are blocking, but they do not call out into other
+ * components except to broadcast {@link org.briarproject.api.event.Event
+ * Events}, so they can safely be called while holding locks.
  */
 public interface DatabaseComponent {
 
diff --git a/briar-api/src/org/briarproject/api/event/EventListener.java b/briar-api/src/org/briarproject/api/event/EventListener.java
index 8ab59aa04b..89598d79e1 100644
--- a/briar-api/src/org/briarproject/api/event/EventListener.java
+++ b/briar-api/src/org/briarproject/api/event/EventListener.java
@@ -3,5 +3,9 @@ package org.briarproject.api.event;
 /** An interface for receiving notifications when events occur. */
 public interface EventListener {
 
+	/**
+	 * Called when an event is broadcast. Implementations of this method must
+	 * not block.
+	 */
 	void eventOccurred(Event e);
 }
-- 
GitLab