=str #22584 make subfusing work if diff materialize() is called

Also: removed unecessary method with wrong name, #22350
This commit is contained in:
Patrik Nordwall 2017-03-17 12:42:13 +01:00 committed by Johan Andrén
parent ef3b0f7444
commit 191bd0fe41
3 changed files with 10 additions and 3 deletions

View file

@ -22,7 +22,6 @@ object ORMultiMap {
* Java API * Java API
*/ */
def create[A, B](): ORMultiMap[A, B] = empty[A, B] def create[A, B](): ORMultiMap[A, B] = empty[A, B]
def createWithDeltaDelta[A, B](): ORMultiMap[A, B] = emptyWithValueDeltas[A, B]
/** /**
* Extract the [[ORMultiMap#entries]]. * Extract the [[ORMultiMap#entries]].

View file

@ -96,7 +96,14 @@ private[akka] class SubFusingActorMaterializerImpl(val delegate: ExtendedActorMa
override def executionContext: ExecutionContextExecutor = delegate.executionContext override def executionContext: ExecutionContextExecutor = delegate.executionContext
override def materialize[Mat](runnable: Graph[ClosedShape, Mat]): Mat = override def materialize[Mat](runnable: Graph[ClosedShape, Mat]): Mat =
delegate.materialize(runnable) delegate match {
case am: PhasedFusingActorMaterializer
materialize(runnable, am.defaultInitialAttributes)
case other
throw new IllegalStateException(s"SubFusing only supported by [PhasedFusingActorMaterializer], " +
s"yet was used with [${other.getClass.getName}]!")
}
override def materialize[Mat](runnable: Graph[ClosedShape, Mat], initialAttributes: Attributes): Mat = { override def materialize[Mat](runnable: Graph[ClosedShape, Mat], initialAttributes: Attributes): Mat = {
if (PhasedFusingActorMaterializer.Debug) println(s"Using [${getClass.getSimpleName}] to materialize [${runnable}]") if (PhasedFusingActorMaterializer.Debug) println(s"Using [${getClass.getSimpleName}] to materialize [${runnable}]")

View file

@ -365,7 +365,8 @@ private final case class SavedIslandData(islandGlobalOffset: Int, lastVisitedOff
private[this] def createFlowName(): String = flowNames.next() private[this] def createFlowName(): String = flowNames.next()
private val defaultInitialAttributes = { /** INTERNAL API */
private[akka] val defaultInitialAttributes = {
val a = Attributes( val a = Attributes(
Attributes.InputBuffer(settings.initialInputBufferSize, settings.maxInputBufferSize) :: Attributes.InputBuffer(settings.initialInputBufferSize, settings.maxInputBufferSize) ::
ActorAttributes.SupervisionStrategy(settings.supervisionDecider) :: ActorAttributes.SupervisionStrategy(settings.supervisionDecider) ::