fix Sink.queue when buffer has run full #19675

This commit is contained in:
Bojan Petrovic 2016-02-02 19:38:00 +01:00
parent 9580b58011
commit fa3b36dcee
2 changed files with 22 additions and 2 deletions

View file

@ -277,7 +277,10 @@ private[akka] class QueueSink[T]() extends GraphStageWithMaterializedValue[SinkS
promise.failure(new IllegalStateException("You have to wait for previous future to be resolved to send another request"))
case None
if (buffer.isEmpty) currentRequest = Some(promise)
else sendDownstream(promise)
else {
if (buffer.used == maxBuffer - 1) tryPull(in)
sendDownstream(promise)
}
})
def sendDownstream(promise: Requested[T]): Unit = {