Consider switching to async-raft.
https://github.com/async-raft/async-raft is An implementation of the Raft distributed consensus protocol using the Tokio framework.
also see https://github.com/nlv8/agreed
hey @PsiACE, I am the original author of raft-frp, thanks for crediting me that was a pleasant surprise :)
I stopped developing the raft-frp when I found that async-raft fitted my use case. Ultimately, the async-raft API ergonomy was very close to what I had in mind, and it's codebase was in my sense a lot cleaner. I kept running into troubles with tikv-raft versioning, and it was a pain to set up, let alone have working properly, so I ultimately gave up. I still think that a wrapper layer like riteraft has a place alongside asynraft, and I would not switch to async-raft if I were you. The main selling point for tikv-raft is that it is a well tested (being the replication backbone for tikv) and "production ready", so until async-raft reaches that point (I'm sure it will, and I'm sticking to it), a library like this will be useful.
good luck!
@MarinPostma I really appreciate your outstanding work.
I still think that a wrapper layer like riteraft has a place alongside asynraft, and I would not switch to async-raft if I were you.
I sincerely thank you for your suggestions and agree with your views. I like async-raft and think it makes sense to maintain asynchronous wrappers. If it is ready for production, I will consider doing some work, but for now it can only be listed in the plan list.