whisper: style fixes

pull/16210/head
Vlad 7 years ago
parent c733792be4
commit d24d10a764
  1. 15
      whisper/whisperv6/filter.go
  2. 12
      whisper/whisperv6/filter_test.go

@ -43,9 +43,10 @@ type Filter struct {
// Filters represents a collection of filters // Filters represents a collection of filters
type Filters struct { type Filters struct {
watchers map[string]*Filter watchers map[string]*Filter
topicMatcher map[TopicType]map[*Filter]struct{}
allTopicsMatcher map[*Filter]struct{} topicMatcher map[TopicType]map[*Filter]struct{} // map a topic to the filters that are interested in being notified when a message matches that topic
allTopicsMatcher map[*Filter]struct{} // list all the filters that will be notified of a new message, no matter what its topic is
whisper *Whisper whisper *Whisper
mutex sync.RWMutex mutex sync.RWMutex
@ -106,7 +107,9 @@ func (fs *Filters) Uninstall(id string) bool {
return false return false
} }
// addTopicMatcher adds a filter to the topic matchers // addTopicMatcher adds a filter to the topic matchers.
// If the filter's Topics array is empty, it will be tried on every topic.
// Otherwise, it will be tried on the topics specified.
func (fs *Filters) addTopicMatcher(watcher *Filter) { func (fs *Filters) addTopicMatcher(watcher *Filter) {
if len(watcher.Topics) == 0 { if len(watcher.Topics) == 0 {
fs.allTopicsMatcher[watcher] = struct{}{} fs.allTopicsMatcher[watcher] = struct{}{}
@ -133,10 +136,10 @@ func (fs *Filters) removeFromTopicMatchers(watcher *Filter) {
// match a specific topic // match a specific topic
func (fs *Filters) getWatchersByTopic(topic TopicType) []*Filter { func (fs *Filters) getWatchersByTopic(topic TopicType) []*Filter {
res := make([]*Filter, 0, len(fs.allTopicsMatcher)) res := make([]*Filter, 0, len(fs.allTopicsMatcher))
for watcher, _ := range fs.allTopicsMatcher { for watcher := range fs.allTopicsMatcher {
res = append(res, watcher) res = append(res, watcher)
} }
for watcher, _ := range fs.topicMatcher[topic] { for watcher := range fs.topicMatcher[topic] {
res = append(res, watcher) res = append(res, watcher)
} }
return res return res

@ -313,16 +313,6 @@ func TestMatchEnvelope(t *testing.T) {
if err != nil { if err != nil {
t.Fatalf("failed Wrap with seed %d: %s.", seed, err) t.Fatalf("failed Wrap with seed %d: %s.", seed, err)
} }
match := fsym.MatchEnvelope(env)
if !match {
// topic mismatch should have no affect, as topics are handled by topic matchers
t.Fatalf("failed MatchEnvelope symmetric with seed %d.", seed)
}
match = fasym.MatchEnvelope(env)
if !match {
// topic mismatch should have no affect, as topics are handled by topic matchers
t.Fatalf("failed MatchEnvelope asymmetric with seed %d.", seed)
}
// encrypt symmetrically // encrypt symmetrically
i := mrand.Int() % 4 i := mrand.Int() % 4
@ -338,7 +328,7 @@ func TestMatchEnvelope(t *testing.T) {
} }
// symmetric + matching topic: match // symmetric + matching topic: match
match = fsym.MatchEnvelope(env) match := fsym.MatchEnvelope(env)
if !match { if !match {
t.Fatalf("failed MatchEnvelope() symmetric with seed %d.", seed) t.Fatalf("failed MatchEnvelope() symmetric with seed %d.", seed)
} }

Loading…
Cancel
Save