diff --git a/src/aof/aof.go b/src/aof/aof.go new file mode 100644 index 0000000..7b20395 --- /dev/null +++ b/src/aof/aof.go @@ -0,0 +1 @@ +package aof diff --git a/src/main.go b/src/main.go index 0d9a157..93866b9 100644 --- a/src/main.go +++ b/src/main.go @@ -7,18 +7,18 @@ import ( "encoding/json" "errors" "fmt" - "github.com/kelvinmwinuka/memstore/src/command_modules/acl" - "github.com/kelvinmwinuka/memstore/src/command_modules/etc" - "github.com/kelvinmwinuka/memstore/src/command_modules/get" - "github.com/kelvinmwinuka/memstore/src/command_modules/hash" - "github.com/kelvinmwinuka/memstore/src/command_modules/list" - "github.com/kelvinmwinuka/memstore/src/command_modules/ping" - "github.com/kelvinmwinuka/memstore/src/command_modules/pubsub" - "github.com/kelvinmwinuka/memstore/src/command_modules/set" - "github.com/kelvinmwinuka/memstore/src/command_modules/sorted_set" - str "github.com/kelvinmwinuka/memstore/src/command_modules/string" - ml "github.com/kelvinmwinuka/memstore/src/memberlist_layer" - rl "github.com/kelvinmwinuka/memstore/src/raft_layer" + ml "github.com/kelvinmwinuka/memstore/src/memberlist" + "github.com/kelvinmwinuka/memstore/src/modules/acl" + "github.com/kelvinmwinuka/memstore/src/modules/etc" + "github.com/kelvinmwinuka/memstore/src/modules/get" + "github.com/kelvinmwinuka/memstore/src/modules/hash" + "github.com/kelvinmwinuka/memstore/src/modules/list" + "github.com/kelvinmwinuka/memstore/src/modules/ping" + "github.com/kelvinmwinuka/memstore/src/modules/pubsub" + "github.com/kelvinmwinuka/memstore/src/modules/set" + "github.com/kelvinmwinuka/memstore/src/modules/sorted_set" + str "github.com/kelvinmwinuka/memstore/src/modules/string" + rl "github.com/kelvinmwinuka/memstore/src/raft" "io" "log" "net" @@ -242,6 +242,7 @@ func (server *Server) handleConnection(ctx context.Context, conn net.Conn) { connRW.Write([]byte(fmt.Sprintf("-%s\r\n\n", err.Error()))) } else { connRW.Write(res) + // TODO: Write successful, add entry to AOF } connRW.Flush() continue diff --git a/src/memberlist_layer/broadcast.go b/src/memberlist/broadcast.go similarity index 97% rename from src/memberlist_layer/broadcast.go rename to src/memberlist/broadcast.go index c2a0a16..f91352e 100644 --- a/src/memberlist_layer/broadcast.go +++ b/src/memberlist/broadcast.go @@ -1,4 +1,4 @@ -package memberlist_layer +package memberlist import ( "encoding/json" diff --git a/src/memberlist_layer/delegate.go b/src/memberlist/delegate.go similarity index 99% rename from src/memberlist_layer/delegate.go rename to src/memberlist/delegate.go index 5270fe0..3e19a2a 100644 --- a/src/memberlist_layer/delegate.go +++ b/src/memberlist/delegate.go @@ -1,4 +1,4 @@ -package memberlist_layer +package memberlist import ( "context" diff --git a/src/memberlist_layer/event_delegate.go b/src/memberlist/event_delegate.go similarity index 97% rename from src/memberlist_layer/event_delegate.go rename to src/memberlist/event_delegate.go index ba9a3f3..c0858e8 100644 --- a/src/memberlist_layer/event_delegate.go +++ b/src/memberlist/event_delegate.go @@ -1,4 +1,4 @@ -package memberlist_layer +package memberlist import ( "encoding/json" diff --git a/src/memberlist_layer/memberlist.go b/src/memberlist/memberlist.go similarity index 99% rename from src/memberlist_layer/memberlist.go rename to src/memberlist/memberlist.go index 1c7fabd..6c75c53 100644 --- a/src/memberlist_layer/memberlist.go +++ b/src/memberlist/memberlist.go @@ -1,4 +1,4 @@ -package memberlist_layer +package memberlist import ( "context" diff --git a/src/command_modules/acl/acl.go b/src/modules/acl/acl.go similarity index 100% rename from src/command_modules/acl/acl.go rename to src/modules/acl/acl.go diff --git a/src/command_modules/acl/commands.go b/src/modules/acl/commands.go similarity index 100% rename from src/command_modules/acl/commands.go rename to src/modules/acl/commands.go diff --git a/src/command_modules/acl/user.go b/src/modules/acl/user.go similarity index 100% rename from src/command_modules/acl/user.go rename to src/modules/acl/user.go diff --git a/src/command_modules/etc/commands.go b/src/modules/etc/commands.go similarity index 100% rename from src/command_modules/etc/commands.go rename to src/modules/etc/commands.go diff --git a/src/command_modules/get/commands.go b/src/modules/get/commands.go similarity index 100% rename from src/command_modules/get/commands.go rename to src/modules/get/commands.go diff --git a/src/command_modules/hash/commands.go b/src/modules/hash/commands.go similarity index 100% rename from src/command_modules/hash/commands.go rename to src/modules/hash/commands.go diff --git a/src/command_modules/list/commands.go b/src/modules/list/commands.go similarity index 100% rename from src/command_modules/list/commands.go rename to src/modules/list/commands.go diff --git a/src/command_modules/ping/commands.go b/src/modules/ping/commands.go similarity index 100% rename from src/command_modules/ping/commands.go rename to src/modules/ping/commands.go diff --git a/src/command_modules/ping/commands_test.go b/src/modules/ping/commands_test.go similarity index 100% rename from src/command_modules/ping/commands_test.go rename to src/modules/ping/commands_test.go diff --git a/src/command_modules/pubsub/commands.go b/src/modules/pubsub/commands.go similarity index 100% rename from src/command_modules/pubsub/commands.go rename to src/modules/pubsub/commands.go diff --git a/src/command_modules/pubsub/pubsub.go b/src/modules/pubsub/pubsub.go similarity index 100% rename from src/command_modules/pubsub/pubsub.go rename to src/modules/pubsub/pubsub.go diff --git a/src/command_modules/set/commands.go b/src/modules/set/commands.go similarity index 100% rename from src/command_modules/set/commands.go rename to src/modules/set/commands.go diff --git a/src/command_modules/set/set.go b/src/modules/set/set.go similarity index 100% rename from src/command_modules/set/set.go rename to src/modules/set/set.go diff --git a/src/command_modules/sorted_set/commands.go b/src/modules/sorted_set/commands.go similarity index 100% rename from src/command_modules/sorted_set/commands.go rename to src/modules/sorted_set/commands.go diff --git a/src/command_modules/sorted_set/sorted_set.go b/src/modules/sorted_set/sorted_set.go similarity index 100% rename from src/command_modules/sorted_set/sorted_set.go rename to src/modules/sorted_set/sorted_set.go diff --git a/src/command_modules/sorted_set/utils.go b/src/modules/sorted_set/utils.go similarity index 100% rename from src/command_modules/sorted_set/utils.go rename to src/modules/sorted_set/utils.go diff --git a/src/command_modules/string/commands.go b/src/modules/string/commands.go similarity index 100% rename from src/command_modules/string/commands.go rename to src/modules/string/commands.go diff --git a/src/raft_layer/fms_snapshot.go b/src/raft/fms_snapshot.go similarity index 97% rename from src/raft_layer/fms_snapshot.go rename to src/raft/fms_snapshot.go index 8ec513d..873488d 100644 --- a/src/raft_layer/fms_snapshot.go +++ b/src/raft/fms_snapshot.go @@ -1,4 +1,4 @@ -package raft_layer +package raft import ( "encoding/json" diff --git a/src/raft_layer/fsm.go b/src/raft/fsm.go similarity index 99% rename from src/raft_layer/fsm.go rename to src/raft/fsm.go index 75564c1..ced62e7 100644 --- a/src/raft_layer/fsm.go +++ b/src/raft/fsm.go @@ -1,4 +1,4 @@ -package raft_layer +package raft import ( "context" diff --git a/src/raft_layer/raft.go b/src/raft/raft.go similarity index 96% rename from src/raft_layer/raft.go rename to src/raft/raft.go index 5b0e855..a9e7733 100644 --- a/src/raft_layer/raft.go +++ b/src/raft/raft.go @@ -1,10 +1,10 @@ -package raft_layer +package raft import ( "context" "errors" "fmt" - "github.com/kelvinmwinuka/memstore/src/memberlist_layer" + "github.com/kelvinmwinuka/memstore/src/memberlist" "log" "net" "os" @@ -175,7 +175,7 @@ func (r *Raft) AddVoter( return nil } -func (r *Raft) RemoveServer(meta memberlist_layer.NodeMeta) error { +func (r *Raft) RemoveServer(meta memberlist.NodeMeta) error { if !r.IsRaftLeader() { return errors.New("not leader, could not remove server") } diff --git a/src/server/server.go b/src/server/server.go new file mode 100644 index 0000000..abb4e43 --- /dev/null +++ b/src/server/server.go @@ -0,0 +1 @@ +package server diff --git a/src/snapshot/snapshot.go b/src/snapshot/snapshot.go new file mode 100644 index 0000000..4966db1 --- /dev/null +++ b/src/snapshot/snapshot.go @@ -0,0 +1,4 @@ +package snapshot + +// This package contains the snapshot engine for standalone mode. +// Snapshots in cluster mode will be handled using the raft package in the raft layer.