func (st *state) mergeDelta(set map[mesh.PeerName]int) (delta mesh.GossipData) {
	st.mtx.Lock()
	defer st.mtx.Unlock()

	for peer, v := range set {
		if v <= st.set[peer] {
			delete(set, peer) // requirement: it's not part of a delta
			continue
		}
		st.set[peer] = v
	}

	if len(set) <= 0 {
		return nil // per OnGossip requirements
	}
	return &state{
		set: set, // all remaining elements were novel to us
	}
}
func (st *state) mergeDelta(set map[mesh.PeerName]int) (delta mesh.GossipData) {
	st.mtx.Lock()
	defer st.mtx.Unlock()

	for peer, v := range set {
		if v <= st.set[peer] {
			delete(set, peer) 
			continue
		}
		st.set[peer] = v
	}

	if len(set) <= 0 {
		return nil 
	}
	return &state{
		set: set, 
	}
}
func ( st * state ) mergeDelta ( set map [ mesh . PeerName ] int ) ( delta mesh . GossipData ) { st . mtx . Lock ( ) defer st . mtx . Unlock ( ) for peer , v := range set { if v <= st . set [ peer ] { delete ( set , peer ) // requirement: it's not part of a delta continue } st . set [ peer ] = v } if len ( set ) <= 0 { return nil // per OnGossip requirements } return & state { set : set , // all remaining elements were novel to us } }
// Merge the set into our state, abiding increment-only semantics.
// Return any key/values that have been mutated, or nil if nothing changed.
Merge the set into our state abiding increment - only semantics . Return any key / values that have been mutated or nil if nothing changed .