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