+str #24229 implement flattening of mat values, may block; SHOULD BE INTERNAL API

add java documentation

images
This commit is contained in:
Konrad Malawski 2018-01-22 01:16:36 +09:00 committed by Konrad `ktoso` Malawski
parent 7c75abbf7e
commit c5a2785c7c
21 changed files with 520 additions and 146 deletions

View file

@ -6,7 +6,7 @@ package akka.stream.impl.streamref
import scala.language.implicitConversions
import akka.Done
import akka.NotUsed
import akka.actor.{ ActorRef, Terminated }
import akka.actor.{ ActorRef, ActorSystem, Terminated }
import akka.annotation.InternalApi
import akka.event.Logging
import akka.stream._
@ -20,10 +20,8 @@ import scala.util.Try
/** INTERNAL API: Implementation class, not intended to be touched directly by end-users */
@InternalApi
private[stream] final case class SinkRefImpl[In](initialPartnerRef: ActorRef) extends SinkRef[In] {
override def sink: Sink[In, NotUsed] =
override def sink(): Sink[In, NotUsed] =
Sink.fromGraph(new SinkRefStageImpl[In](OptionVal.Some(initialPartnerRef))).mapMaterializedValue(_ NotUsed)
override def getSink: javadsl.Sink[In, NotUsed] = sink.asJava
}
/**
@ -35,7 +33,7 @@ private[stream] final case class SinkRefImpl[In](initialPartnerRef: ActorRef) ex
@InternalApi
private[stream] final class SinkRefStageImpl[In] private[akka] (
val initialPartnerRef: OptionVal[ActorRef]
) extends GraphStageWithMaterializedValue[SinkShape[In], SourceRef[In]] {
) extends GraphStageWithMaterializedValue[SinkShape[In], Future[SourceRef[In]]] {
val in: Inlet[In] = Inlet[In](s"${Logging.simpleName(getClass)}($initialRefName).in")
override def shape: SinkShape[In] = SinkShape.of(in)
@ -199,10 +197,9 @@ private[stream] final class SinkRefStageImpl[In] private[akka] (
}
setHandler(in, this)
}
(logic, MaterializedSourceRef[In](promise.future))
(logic, promise.future)
}
override def toString = s"${Logging.simpleName(getClass)}($initialRefName)"