コード例 #1
0
ファイル: airspace.go プロジェクト: skypies/pi
func (a *Airspace) thisIsNewContent(msg *adsb.CompositeMsg) (wasNew bool) {
	// Lazy init
	if a.RollAfter == time.Minute*0 {
		a.RollAfter = DefaultRollAfter
	}
	if a.Aircraft == nil {
		a.Aircraft = make(map[adsb.IcaoId]AircraftData)
	}

	sig := msg.GetSignature()
	if _, existsCurr := a.CurrMsgs[sig]; !existsCurr {
		// Add it into Curr in all cases
		a.CurrMsgs[sig] = true

		existsPrev := false
		if a.PrevMsgs != nil {
			_, existsPrev = a.PrevMsgs[sig]
		}

		// If the thing was already in prev, then it isn't new; else it is
		return !existsPrev
	}

	return false
}