in client/src/main/scala/com.gu.contentapi.client/ScheduledExecutor.scala [10:22]
def apply(): ScheduledExecutor = {
new ScheduledExecutor {
private lazy val underlying: ScheduledExecutorService = Executors.newSingleThreadScheduledExecutor()
override def sleepFor(napTime: Duration): Future[Unit] = {
val promise = Promise[Unit]()
val runnable = new Runnable {
override def run(): Unit = promise.success(())
}
underlying.schedule(runnable, napTime.length, napTime.unit)
promise.future
}
}
}