func (b *storeManagerTestBacking) updateEntity(info params.EntityInfo) { b.mu.Lock() defer b.mu.Unlock() id := info.EntityId() b.entities[id] = info b.txnRevno++ if b.watchc != nil { b.watchc <- watcher.Change{ C: id.Kind, Id: id.Id, Revno: b.txnRevno, // This is actually ignored, but fill it in anyway. } } }
// Update updates the information for the given entity. func (a *Store) Update(info params.EntityInfo) { id := info.EntityId() elem := a.entities[id] if elem == nil { a.add(id, info) return } entry := elem.Value.(*entityEntry) // Nothing has changed, so change nothing. // TODO(rog) do the comparison more efficiently. if reflect.DeepEqual(info, entry.info) { return } // We already know about the entity; update its doc. a.latestRevno++ entry.revno = a.latestRevno entry.info = info a.list.MoveToFront(elem) }