diff --git a/cluster/cluster.go b/cluster/cluster.go index a3c09b5..75c8d0e 100644 --- a/cluster/cluster.go +++ b/cluster/cluster.go @@ -90,7 +90,7 @@ func (c *Cluster) Join(addrs []string) error { // Leave saves the current state before leaving, then leaves the cluster func (c *Cluster) Leave() { - c.saveState() + c.state.save() c.ml.Leave(10 * time.Second) c.ml.Shutdown() //nolint: errcheck } @@ -138,7 +138,7 @@ func (c *Cluster) Members() <-chan []common.Node { } c.state.Nodes = nodes changes <- nodes - c.saveState() + c.state.save() } }() return changes diff --git a/cluster/state.go b/cluster/state.go index 97db1c4..3e5a7af 100644 --- a/cluster/state.go +++ b/cluster/state.go @@ -18,12 +18,12 @@ type state struct { const statePath = "/var/lib/wesher/state.json" -func (c *Cluster) saveState() error { +func (s *state) save() error { if err := os.MkdirAll(path.Dir(statePath), 0700); err != nil { return err } - stateOut, err := json.MarshalIndent(c.state, "", " ") + stateOut, err := json.MarshalIndent(s, "", " ") if err != nil { return err } diff --git a/cluster/state_test.go b/cluster/state_test.go index 840f58b..42f556d 100644 --- a/cluster/state_test.go +++ b/cluster/state_test.go @@ -22,7 +22,7 @@ func Test_state_save_soad(t *testing.T) { }, } - cluster.saveState() + cluster.state.save() loaded := &state{} loadState(loaded)