예제 #1
0
파일: flags.go 프로젝트: KanyonKris/rtlamr
func (uf UniqueFilter) Filter(msg parse.Message) bool {
	checksum := msg.Checksum()
	mid := uint(msg.MeterID())

	if val, ok := uf[mid]; ok && bytes.Compare(val, checksum) == 0 {
		return false
	}

	uf[mid] = make([]byte, len(checksum))
	copy(uf[mid], checksum)
	return true
}
예제 #2
0
파일: flags.go 프로젝트: KanyonKris/rtlamr
func (m MeterIDFilter) Filter(msg parse.Message) bool {
	return m.UintMap[uint(msg.MeterID())]
}