code: func (whisper *Whisper) updateBloomFilter(f *Filter) {
  	aggregate := make([]byte, BloomFilterSize)
  	for _, t := range f.Topics {
  		top := BytesToTopic(t)
  		b := TopicToBloom(top)
  		aggregate = addBloom(aggregate, b)
  	}
  
  	if !BloomFilterMatch(whisper.BloomFilter(), aggregate) {
  		// existing bloom filter must be updated
  		aggregate = addBloom(whisper.BloomFilter(), aggregate)
  		whisper.SetBloomFilter(aggregate)
  	}
  }
docs: // updateBloomFilter recalculates the new value of bloom filter,
  // and informs the peers if necessary.