=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
*/
def create[A, B](): ORMultiMap[A, B] = empty[A, B]
def createWithDeltaDelta[A, B](): ORMultiMap[A, B] = emptyWithValueDeltas[A, B]
/**
* 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 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 = {
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 val defaultInitialAttributes = {
/** INTERNAL API */
private[akka] val defaultInitialAttributes = {
val a = Attributes(
Attributes.InputBuffer(settings.initialInputBufferSize, settings.maxInputBufferSize) ::
ActorAttributes.SupervisionStrategy(settings.supervisionDecider) ::