2015-05-29 16:43:02 +02:00
|
|
|
package akka.stream.impl.io
|
2015-04-16 02:24:01 +02:00
|
|
|
|
2015-06-23 17:32:55 +02:00
|
|
|
import akka.stream.ActorAttributes.Dispatcher
|
2015-06-23 18:28:53 +02:00
|
|
|
import akka.stream.{ ActorMaterializer, MaterializationContext }
|
2015-04-16 02:24:01 +02:00
|
|
|
|
|
|
|
|
private[stream] object IOSettings {
|
2015-07-12 23:04:26 -04:00
|
|
|
|
|
|
|
|
/** Picks default akka.stream.blocking-io-dispatcher or the Attributes configured one */
|
|
|
|
|
def blockingIoDispatcher(context: MaterializationContext): String = {
|
2015-06-23 18:28:53 +02:00
|
|
|
val mat = ActorMaterializer.downcast(context.materializer)
|
2015-06-23 17:32:55 +02:00
|
|
|
context.effectiveAttributes.attributeList.collectFirst { case d: Dispatcher ⇒ d.dispatcher } getOrElse {
|
2015-07-12 23:04:26 -04:00
|
|
|
mat.system.settings.config.getString("akka.stream.blocking-io-dispatcher")
|
2015-04-16 02:24:01 +02:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|