Skip to content

Commit f626a32

Browse files
committed
Prevent CME's
1 parent 857f174 commit f626a32

File tree

1 file changed

+5
-0
lines changed

1 file changed

+5
-0
lines changed

platform_api/src/main/java/net/modfest/platform/misc/EventSource.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,27 @@
11
package net.modfest.platform.misc;
22

3+
import lombok.Locked;
4+
35
import java.util.HashSet;
46
import java.util.Set;
57

68
public class EventSource<T> {
79
private final Set<Subscriber<T>> subscribers = new HashSet<>();
810

11+
@Locked
912
public void unsubscribe(Subscriber<T> subscriber) {
1013
subscribers.remove(subscriber);
1114
}
1215

16+
@Locked
1317
public void subscribe(Subscriber<T> subscriber) {
1418
subscribers.add(subscriber);
1519
}
1620

1721
/**
1822
* Emit a new event
1923
*/
24+
@Locked
2025
public void emit(T event) {
2126
var iterator = subscribers.iterator();
2227
while (iterator.hasNext()) {

0 commit comments

Comments
 (0)