We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 857f174 commit f626a32Copy full SHA for f626a32
platform_api/src/main/java/net/modfest/platform/misc/EventSource.java
@@ -1,22 +1,27 @@
1
package net.modfest.platform.misc;
2
3
+import lombok.Locked;
4
+
5
import java.util.HashSet;
6
import java.util.Set;
7
8
public class EventSource<T> {
9
private final Set<Subscriber<T>> subscribers = new HashSet<>();
10
11
+ @Locked
12
public void unsubscribe(Subscriber<T> subscriber) {
13
subscribers.remove(subscriber);
14
}
15
16
17
public void subscribe(Subscriber<T> subscriber) {
18
subscribers.add(subscriber);
19
20
21
/**
22
* Emit a new event
23
*/
24
25
public void emit(T event) {
26
var iterator = subscribers.iterator();
27
while (iterator.hasNext()) {
0 commit comments