diff --git a/briar-api/src/org/briarproject/api/db/DatabaseComponent.java b/briar-api/src/org/briarproject/api/db/DatabaseComponent.java index c1dfc0072419a3b80b1ead10f4222926de3fb0d4..48a67fb1dfa5d58b5f225eab09946f863d4973a0 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 8ab59aa04ba33559475784b2a96606b2ce2e912f..89598d79e1e4bbdccf702da3edc35feed070acb5 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); }