mirror of
https://github.com/etcd-io/etcd.git
synced 2024-09-27 06:25:44 +00:00
40 lines
674 B
Go
40 lines
674 B
Go
package migrate
|
|
|
|
import (
|
|
"encoding/json"
|
|
"io/ioutil"
|
|
|
|
"github.com/coreos/etcd/raft/raftpb"
|
|
)
|
|
|
|
type Config4 struct {
|
|
CommitIndex uint64 `json:"commitIndex"`
|
|
|
|
Peers []struct {
|
|
Name string `json:"name"`
|
|
ConnectionString string `json:"connectionString"`
|
|
} `json:"peers"`
|
|
}
|
|
|
|
func (c *Config4) HardState2() raftpb.HardState {
|
|
return raftpb.HardState{
|
|
Commit: c.CommitIndex,
|
|
Term: 0,
|
|
Vote: 0,
|
|
}
|
|
}
|
|
|
|
func DecodeConfig4FromFile(cfgPath string) (*Config4, error) {
|
|
b, err := ioutil.ReadFile(cfgPath)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
conf := &Config4{}
|
|
if err = json.Unmarshal(b, conf); err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
return conf, nil
|
|
}
|