Documentation
¶
Overview ¶
Package mailbox 提供按 key 保序的内存调度能力。
它用于在同一个 key 内串行处理任务,同时让不同 key 尽量并发执行;它不负责消息持久化。
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ( // ErrMessageRequired 表示调度时没有传入消息。 ErrMessageRequired = errors.New("mailbox message is required") // ErrHandlerRequired 表示 dispatcher 没有可用 handler。 ErrHandlerRequired = errors.New("mailbox handler is required") // ErrDispatcherClosed 表示 dispatcher 已停止接收消息。 ErrDispatcherClosed = errors.New("mailbox dispatcher is closed") )
Functions ¶
This section is empty.
Types ¶
type Dispatcher ¶
type Dispatcher struct {
// contains filtered or unexported fields
}
Dispatcher 将相同 key 的消息放入同一个 mailbox 顺序处理。
func NewDispatcher ¶
func NewDispatcher(handler Handler, queueSize int) *Dispatcher
NewDispatcher 创建按 key 保序的内存 dispatcher。
type MemoryMessage ¶
type MemoryMessage struct {
// contains filtered or unexported fields
}
MemoryMessage 是 mailbox 测试和示例用的内存消息实现。
func NewMemoryMessage ¶
func NewMemoryMessage(key string) *MemoryMessage
NewMemoryMessage 创建指定 key 的内存消息。
Click to show internal directories.
Click to hide internal directories.