@@ -84,8 +84,8 @@ type notifyMaps struct {
8484// A node contains subscriptions and a pointer to the next level.
8585type node struct {
8686 next * level
87- psubs map [* subscription ]* subscription
88- qsubs map [string ]( map [* subscription ]* subscription )
87+ psubs map [* subscription ]struct {}
88+ qsubs map [string ]map [* subscription ]struct {}
8989 plist []* subscription
9090}
9191
@@ -98,7 +98,7 @@ type level struct {
9898
9999// Create a new default node.
100100func newNode () * node {
101- return & node {psubs : make (map [* subscription ]* subscription )}
101+ return & node {psubs : make (map [* subscription ]struct {} )}
102102}
103103
104104// Create a new default level.
@@ -413,30 +413,30 @@ func (s *Sublist) Insert(sub *subscription) error {
413413 l = n .next
414414 }
415415 if sub .queue == nil {
416- n .psubs [sub ] = sub
416+ n .psubs [sub ] = struct {}{}
417417 isnew = len (n .psubs ) == 1
418418 if n .plist != nil {
419419 n .plist = append (n .plist , sub )
420420 } else if len (n .psubs ) > plistMin {
421421 n .plist = make ([]* subscription , 0 , len (n .psubs ))
422422 // Populate
423- for _ , psub := range n .psubs {
423+ for psub := range n .psubs {
424424 n .plist = append (n .plist , psub )
425425 }
426426 }
427427 } else {
428428 if n .qsubs == nil {
429- n .qsubs = make (map [string ]map [* subscription ]* subscription )
429+ n .qsubs = make (map [string ]map [* subscription ]struct {} )
430430 }
431431 qname := string (sub .queue )
432432 // This is a queue subscription
433433 subs , ok := n .qsubs [qname ]
434434 if ! ok {
435- subs = make (map [* subscription ]* subscription )
435+ subs = make (map [* subscription ]struct {} )
436436 n .qsubs [qname ] = subs
437437 isnew = true
438438 }
439- subs [sub ] = sub
439+ subs [sub ] = struct {}{}
440440 }
441441
442442 s .count ++
@@ -636,7 +636,7 @@ func addNodeToResults(n *node, results *SublistResult) {
636636 if n .plist != nil {
637637 results .psubs = append (results .psubs , n .plist ... )
638638 } else {
639- for _ , psub := range n .psubs {
639+ for psub := range n .psubs {
640640 results .psubs = append (results .psubs , psub )
641641 }
642642 }
@@ -652,7 +652,7 @@ func addNodeToResults(n *node, results *SublistResult) {
652652 nqsub := make ([]* subscription , 0 , len (qr ))
653653 results .qsubs = append (results .qsubs , nqsub )
654654 }
655- for _ , sub := range qr {
655+ for sub := range qr {
656656 if isRemoteQSub (sub ) {
657657 ns := atomic .LoadInt32 (& sub .qw )
658658 // Shadow these subscriptions
@@ -1435,13 +1435,13 @@ func (s *Sublist) addNodeToSubs(n *node, subs *[]*subscription, includeLeafHubs
14351435 addLocalSub (sub , subs , includeLeafHubs )
14361436 }
14371437 } else {
1438- for _ , sub := range n .psubs {
1438+ for sub := range n .psubs {
14391439 addLocalSub (sub , subs , includeLeafHubs )
14401440 }
14411441 }
14421442 // Queue subscriptions
14431443 for _ , qr := range n .qsubs {
1444- for _ , sub := range qr {
1444+ for sub := range qr {
14451445 addLocalSub (sub , subs , includeLeafHubs )
14461446 }
14471447 }
@@ -1481,13 +1481,13 @@ func (s *Sublist) addAllNodeToSubs(n *node, subs *[]*subscription) {
14811481 if n .plist != nil {
14821482 * subs = append (* subs , n .plist ... )
14831483 } else {
1484- for _ , sub := range n .psubs {
1484+ for sub := range n .psubs {
14851485 * subs = append (* subs , sub )
14861486 }
14871487 }
14881488 // Queue subscriptions
14891489 for _ , qr := range n .qsubs {
1490- for _ , sub := range qr {
1490+ for sub := range qr {
14911491 * subs = append (* subs , sub )
14921492 }
14931493 }
0 commit comments