The raft loop would block on the applier's done channel after persisting the raft messages; the latency could cause dropped network messages. Instead, asynchronously notify the applier with a buffered channel when the raft writes complete.