Package sk.tuke.kpi.gamelib.messages
Class MessageBus
- java.lang.Object
-
- sk.tuke.kpi.gamelib.messages.MessageBus
-
public final class MessageBus extends java.lang.Object
A bus for posting messages tosubscribers
. Message content is defined by theTopic
a subscriber subscribes to.
-
-
Constructor Summary
Constructors Constructor Description MessageBus()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description <M> void
publish(Topic<M> topic, M message)
Publishes message into topic.<M> @NotNull Disposable
subscribe(@NotNull Topic<M> topic, @NotNull java.util.function.Consumer<M> listener)
Subscribes listener to messages in the topic.<M> @NotNull Disposable
subscribeOnce(@NotNull Topic<M> topic, @NotNull java.util.function.Consumer<M> listener)
Subscribes listener to a single message in the topic.
-
-
-
Method Detail
-
subscribe
@NotNull public <M> @NotNull Disposable subscribe(@NotNull @NotNull Topic<M> topic, @NotNull @NotNull java.util.function.Consumer<M> listener)
Subscribes listener to messages in the topic.
-
subscribeOnce
@NotNull public <M> @NotNull Disposable subscribeOnce(@NotNull @NotNull Topic<M> topic, @NotNull @NotNull java.util.function.Consumer<M> listener)
Subscribes listener to a single message in the topic. The subscription is cancelled after first received message.
-
publish
public <M> void publish(Topic<M> topic, M message)
Publishes message into topic.- Type Parameters:
M
- type of the message.- Parameters:
topic
- topic to publish message tomessage
- message to publish
-
-