Files
zhub/zsub/ztopic.go
lxy 66321ce7a8 优化:配置文件管理、启动参数解析等
git-svn-id: svn://47.119.165.148/zhub@167 e63fbceb-bcc3-4977-ac22-735b83d8d0f4
2023-05-21 17:47:04 +00:00

39 lines
604 B
Go

package zsub
import (
"fmt"
"log"
"sync"
)
type ZTopic struct { //ZTopic
sync.Mutex
groups map[string]*ZGroup
mcount int32
topic string // 主题名称
chMsg chan string // 主题消息投递
}
// 主题消息发送
func (t *ZTopic) init() {
go func() {
for {
msg, ok := <-t.chMsg
if !ok {
break
}
for groupName, group := range t.groups {
// zgroup chan overload check
if len(group.chMsg) == cap(group.chMsg) {
log.Println(fmt.Sprintf("zgroup no cap: [%s.%s %s]", groupName, t.topic, msg))
continue
}
group.chMsg <- msg
}
}
}()
}
//