def createLogicAndMaterializedValue()

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)
        }