topic源码刨析

数据结构

type Topic struct {

// 64bit atomic vars need to be first for proper alignment on 32bit platforms

messageCount uint64  //消息数量

messageBytes uint64 // 消息字节数

sync.RWMutex 

name              string //topic 名字

channelMapmap   [string]*Channel  //关联的channel组

backend          BackendQueue //磁盘队列

memoryMsgChanchan *Message //内存队列

startChan chan int // 开始标志

exitChan  chan int // 结束标志

channelUpdateChanchan int //关联的channel增加或者减少, 需要通知更新

waitGroup        util.WaitGroupWrapper 

exitFlag          int32

idFactory        *guidFactory

ephemeral      bool

deleteCallbackfunc(*Topic)

deleter        sync.Once

paused    int32

pauseChan  chan int

ctx *context

}


核心方法



核心流程

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容