def writeMessages()

in src/main/scala/org/apache/pekko/persistence/dynamodb/journal/DynamoDBJournalRequests.scala [46:60]


  def writeMessages(writes: Seq[AtomicWrite]): Future[List[Try[Unit]]] =
    // optimize the common case
    if (writes.size == 1) {
      writeMessages(writes.head)
        .map(bubbleUpFailures(_) :: Nil)(ExecutionContexts.parasitic)
    } else {
      def rec(todo: List[AtomicWrite], acc: List[Try[Unit]]): Future[List[Try[Unit]]] =
        todo match {
          case write :: remainder =>
            writeMessages(write)
              .flatMap(result => rec(remainder, bubbleUpFailures(result) :: acc))
          case Nil => Future.successful(acc.reverse)
        }
      rec(writes.toList, Nil)
    }