BlockingIODispatcher actually not needed #27632
This commit is contained in:
parent
119e832a0c
commit
37a76aa9a0
5 changed files with 3 additions and 17 deletions
|
|
@ -596,7 +596,7 @@ used for individual streams when they are materialized.
|
|||
| `streamRefSettings.demandRedeliveryInterval` | `StreamRefAttributes.demandRedeliveryInterval` | `akka.stream.materializer.stream-ref.demand-redelivery-interval` |
|
||||
| `streamRefSettings.subscriptionTimeout` | `StreamRefAttributes.subscriptionTimeout` | `akka.stream.materializer.stream-ref.subscription-timeout` |
|
||||
| `streamRefSettings.finalTerminationSignalDeadline` | `StreamRefAttributes.finalTerminationSignalDeadline` | `akka.stream.materializer.stream-ref.final-termination-signal-deadline` |
|
||||
| `blockingIoDispatcher` | `ActorAttributes.blockingIoDispatcher` | `akka.stream.materializer.blocking-io-dispatcher` |
|
||||
| `blockingIoDispatcher` | na | `akka.stream.materializer.blocking-io-dispatcher` |
|
||||
| `subscriptionTimeoutSettings.mode` | `ActorAttributes.streamSubscriptionTimeoutMode` | `akka.stream.materializer.subscription-timeout.mode` |
|
||||
| `subscriptionTimeoutSettings.timeout` | `ActorAttributes.streamSubscriptionTimeout` | `akka.stream.materializer.subscription-timeout.timeout` |
|
||||
|
||||
|
|
|
|||
|
|
@ -779,8 +779,7 @@ final class ActorMaterializerSettings @InternalApi private (
|
|||
ActorAttributes.OutputBurstLimit(outputBurstLimit) ::
|
||||
ActorAttributes.FuzzingMode(fuzzingMode) ::
|
||||
ActorAttributes.MaxFixedBufferSize(maxFixedBufferSize) ::
|
||||
ActorAttributes.SyncProcessingLimit(syncProcessingLimit) ::
|
||||
ActorAttributes.BlockingIoDispatcher(blockingIoDispatcher) :: Nil)
|
||||
ActorAttributes.SyncProcessingLimit(syncProcessingLimit) :: Nil)
|
||||
|
||||
override def toString: String =
|
||||
s"ActorMaterializerSettings($initialInputBufferSize,$maxInputBufferSize," +
|
||||
|
|
|
|||
|
|
@ -588,12 +588,6 @@ object ActorAttributes {
|
|||
def syncProcessingLimit(limit: Int): Attributes =
|
||||
Attributes(SyncProcessingLimit(limit))
|
||||
|
||||
/**
|
||||
* FIXME Is this really needed anymore now that we have indirect dispatcher config?
|
||||
*/
|
||||
final case class BlockingIoDispatcher(dispatcher: String) extends MandatoryAttribute
|
||||
def blockingIoDispatcher(dispatcher: String): Attributes =
|
||||
Attributes(BlockingIoDispatcher(dispatcher))
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -57,11 +57,8 @@ import scala.concurrent.Future
|
|||
@InternalApi private[akka] override def actorOf(context: MaterializationContext, props: Props): ActorRef = {
|
||||
val effectiveProps = props.dispatcher match {
|
||||
case Dispatchers.DefaultDispatcherId =>
|
||||
// the caller said to use the default dispatcher, but that can been trumped by the dispatcher attribute
|
||||
props.withDispatcher(context.effectiveAttributes.mandatoryAttribute[ActorAttributes.Dispatcher].dispatcher)
|
||||
case ActorAttributes.IODispatcher.dispatcher =>
|
||||
// this one is actually not a dispatcher but a relative config key pointing containing the actual dispatcher name
|
||||
val actual = context.effectiveAttributes.mandatoryAttribute[ActorAttributes.BlockingIoDispatcher].dispatcher
|
||||
props.withDispatcher(actual)
|
||||
case _ => props
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -625,10 +625,6 @@ private final case class SavedIslandData(
|
|||
val effectiveProps = props.dispatcher match {
|
||||
case Dispatchers.DefaultDispatcherId =>
|
||||
props.withDispatcher(context.effectiveAttributes.mandatoryAttribute[ActorAttributes.Dispatcher].dispatcher)
|
||||
case ActorAttributes.IODispatcher.dispatcher =>
|
||||
// this one is actually not a dispatcher but a relative config key pointing containing the actual dispatcher name
|
||||
// FIXME go via attributes here,or something
|
||||
props.withDispatcher(settings.blockingIoDispatcher)
|
||||
case _ => props
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue