Esempio n. 1
0
func restoreData(SM *sm.State_Machine, myConf *Config) {
	//restore persistant state
	last := myConf.St.GetLastIndex()
	if last != -1 {
		state, err := myConf.St.Get(last)
		if err != nil {
			panic(err)
		}
		data := state.(sm.Persi_State)
		SM.Persi_State = data
	}

	//restore log
	last = myConf.Lg.GetLastIndex()
	if last != -1 {
		for i := int64(0); i <= last; i++ {
			log, err := myConf.St.Get(i)
			if err != nil {
				panic(err)
			}
			logg := log.(sm.MyLogg)
			SM.Logg.Logg[i] = logg
		}
	}
	SM.LoggInd = int32(last)
}