Documentation ¶
Index ¶
- type MPSC
- type PosionPill
- type Queue
- type QueueManager
- func (cm *QueueManager) GetOrCreateQueue(key interface{}, receive ReceiveFunc) (newQueue Queue, newer bool)
- func (cm *QueueManager) New() *QueueManager
- func (cm *QueueManager) Push(key interface{}, msg interface{}) (sended bool)
- func (cm *QueueManager) Release(key interface{})
- func (cm *QueueManager) ReleaseAll()
- type ReceiveFunc
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type MPSC ¶
type MPSC struct {
// contains filtered or unexported fields
}
MPSC 基于 go 的multi-produce single-consumer的数据结构
type Queue ¶
type Queue interface { Push(interface{}) StopGraceful() Stop() }
异步队列的定义,允许执行消息推送、停止直至消息处理完成、立即停止三种操作
func BoundedQueueCSP ¶
func BoundedQueueCSP(size int, invoker ReceiveFunc) Queue
BoundedQueueCSP 创建一个指定缓冲区大小的队列
func BoundedQueueMpsc ¶
func BoundedQueueMpsc(size int, receiver ReceiveFunc) Queue
BoundedQueueMpsc 创建一个指定缓冲区大小的队列
type QueueManager ¶
type QueueManager struct {
// contains filtered or unexported fields
}
QueueManager 队列管理器
func (*QueueManager) GetOrCreateQueue ¶
func (cm *QueueManager) GetOrCreateQueue(key interface{}, receive ReceiveFunc) (newQueue Queue, newer bool)
GetOrCreateQueue 创建通道以供使用
func (*QueueManager) Push ¶
func (cm *QueueManager) Push(key interface{}, msg interface{}) (sended bool)
Push 向指定的异步队列推送消息,当队列不存在是,返回 false
type ReceiveFunc ¶
type ReceiveFunc = func(any interface{})
Click to show internal directories.
Click to hide internal directories.