diff options
Diffstat (limited to 'server/src/LiveMessages.scala')
-rw-r--r-- | server/src/LiveMessages.scala | 11 |
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 } |