aboutsummaryrefslogtreecommitdiff
path: root/server/src/LiveMessages.scala
diff options
context:
space:
mode:
Diffstat (limited to 'server/src/LiveMessages.scala')
-rw-r--r--server/src/LiveMessages.scala11
1 files changed, 8 insertions, 3 deletions
diff --git a/server/src/LiveMessages.scala b/server/src/LiveMessages.scala
index b2d27c1..307dd81 100644
--- a/server/src/LiveMessages.scala
+++ b/server/src/LiveMessages.scala
@@ -7,8 +7,10 @@ import akka.stream.scaladsl.{
Source,
SourceQueueWithComplete
}
-import akka.stream.{Materializer, OverflowStrategy}
+import akka.stream.{Materializer, OverflowStrategy, QueueOfferResult}
+import scala.concurrent.Future
+/** A very basic streaming message router. */
class LiveMessages(implicit materializer: Materializer) {
private val (
@@ -19,7 +21,10 @@ class LiveMessages(implicit materializer: Materializer) {
.toMat(BroadcastHub.sink[Message])(Keep.both)
.run()
- def push(message: Message) = in.offer(message)
- def feed = out
+ /** Push a single message into the stream. */
+ def push(message: Message): Future[QueueOfferResult] = in.offer(message)
+
+ /** Obtain a stream of the message feed. */
+ def feed: Source[Message, NotUsed] = out
}