@Hoverbear as we discussed in #30, the way the Server and Replica are structured right now makes it very hard to return responses back to clients. With this in mind I've been refactoring the responsibilities of each. A lot of this is inspired by etcd's architecture, described here.
This is a work in progress, right now I've replaced EmitType with an Actions struct which is much more flexible with what the Replica expects the Server to do. This also makes it significantly easier to implement Server. Eventually I would like the Server to control the StateMachine and Store instance as well. Right now I've broken some things that previously 'worked', so I don't want to merge this now. Definitely interested in feedback in the way this is heading.
@Hoverbear as we discussed in #30, the way the
Server
andReplica
are structured right now makes it very hard to return responses back to clients. With this in mind I've been refactoring the responsibilities of each. A lot of this is inspired by etcd's architecture, described here.This is a work in progress, right now I've replaced
EmitType
with anActions
struct which is much more flexible with what theReplica
expects theServer
to do. This also makes it significantly easier to implementServer
. Eventually I would like theServer
to control theStateMachine
andStore
instance as well. Right now I've broken some things that previously 'worked', so I don't want to merge this now. Definitely interested in feedback in the way this is heading.