BoundedQueueSource API

This commit is contained in:
Sean Glover 2020-10-21 17:34:28 -04:00
parent 708f8b870c
commit 779161d556
11 changed files with 358 additions and 115 deletions

View file

@ -491,6 +491,36 @@ class IntegrationDocSpec extends AkkaSpec(IntegrationDocSpec.config) {
//#source-queue
}
"illustrate use of synchronous source queue" in {
//#source-queue-synchronous
val bufferSize = 1000
//#source-queue-synchronous
// format: OFF
//#source-queue-synchronous
val queue = Source
.queue[Int](bufferSize)
.map(x => x * x)
.toMat(Sink.foreach(x => println(s"completed $x")))(Keep.left)
.run()
//#source-queue-synchronous
// format: OFF
//#source-queue-synchronous
val fastElements = 1 to 10
implicit val ec = system.dispatcher
fastElements.foreach { x =>
queue.offer(x) match {
case QueueOfferResult.Enqueued => println(s"enqueued $x")
case QueueOfferResult.Dropped => println(s"dropped $x")
case QueueOfferResult.Failure(ex) => println(s"Offer failed ${ex.getMessage}")
case QueueOfferResult.QueueClosed => println("Source Queue closed")
}
}
//#source-queue-synchronous
}
"illustrate use of source actor ref" in {
//#source-actorRef
val bufferSize = 10