| 147 | } |
| 148 | |
| 149 | func (s *Subscribers) Add(suber ISubscriber, wait *waitTracks) { |
| 150 | io := suber.GetSubscriber() |
| 151 | if io.Config.Internal { |
| 152 | s.internal[suber] = wait |
| 153 | io.Info("innersuber +1", zap.Int("remains", len(s.internal))) |
| 154 | } else { |
| 155 | s.public[suber] = wait |
| 156 | io.Info("suber +1", zap.Int("remains", s.Len())) |
| 157 | if config.Global.EnableSubEvent { |
| 158 | EventBus <- suber |
| 159 | } |
| 160 | } |
| 161 | if wait.NeedWait() { |
| 162 | s.waits[wait] = suber |
| 163 | } else { |
| 164 | wait.Resolve() |
| 165 | } |
| 166 | } |
| 167 | |
| 168 | func (s *Subscribers) Dispose() { |
| 169 | for w := range s.waits { |