in src/main/scala/com/gu/kinesis/MaterializerAsValue.scala [18:39]
def createLogicAndMaterializedValue(
inheritedAttributes: Attributes
): (GraphStageLogic, Future[Materializer]) = {
val promise = Promise[Materializer]()
val logic = new GraphStageLogic(shape) {
override def preStart(): Unit = {
promise.trySuccess(materializer)
completeStage()
}
setHandler(
out,
new OutHandler {
override def onPull(): Unit = {
// Do nothing.
}
}
)
}
val materializedValue = promise.future
(logic, materializedValue)
}