//all past commited command will come into replicators inbox func ListenInBox(Replicator Raft.Replicator) { count := 0 var xcel Xcel for { select { case t := <-Replicator.Inbox(): count++ fmt.Println("enter receinved:", count) buf := bytes.NewBufferString(string(*t)) dec := gob.NewDecoder(buf) err := dec.Decode(&xcel) if err != nil { panic(fmt.Sprintf("decode:", err)) } else { ApplyOldCommandTOSM(&xcel) } } } }