package main import ( "go.wit.com/lib/protobuf/zoopb" "go.wit.com/log" ) // someone sent machine 'u' is it new? // if not, update the record of it func updateMachine(u *zoopb.Machine) string { if u == nil { return "nil" } m := me.machines.FindByName(u.Hostname) if m == nil { log.Info("did not find", u.Hostname) me.machines.Append(u) return "new" } log.Info("updating machine", m.Hostname) // did the # of cpus change? if m.Cpus != u.Cpus { m.Cpus = u.Cpus log.Info("cpus changed to", m.Cpus) } // did the memory change? if m.Memory != u.Memory { m.Memory = u.Memory log.Info("memory changed to", m.Memory) } // init these if nil if m.Packages == nil { m.Packages = new(zoopb.Packages) } if u.Packages == nil { u.Packages = new(zoopb.Packages) } updatePackages(m.Packages, u.Packages) return "upgrade" } // looks to see if any packages: // changed versions // were newly installed // were uninstalled func updatePackages(p *zoopb.Packages, u *zoopb.Packages) bool { var changed bool = false return changed }