Documentation
¶
Overview ¶
Package channel 提供基于 Channel 的消息分发机制
Index ¶
- Variables
- type Channel
- func (c *Channel) AddHandler(h Handler)
- func (c *Channel) Chan() <-chan *message.Envelope
- func (c *Channel) Close()
- func (c *Channel) Name() string
- func (c *Channel) Process(envelope *message.Envelope) error
- func (c *Channel) Receive(ctx context.Context) (*message.Envelope, error)
- func (c *Channel) Send(envelope *message.Envelope) error
- func (c *Channel) Type() message.MessageType
- type Handler
- type Router
- func (r *Router) GetChannel(msgType message.MessageType) *Channel
- func (r *Router) GetChannelByName(name string) *Channel
- func (r *Router) RegisterChannel(ch *Channel)
- func (r *Router) RegisterTypeChannel(msgType message.MessageType, bufSize int) *Channel
- func (r *Router) Request(ctx context.Context, envelope *message.Envelope) (*message.Envelope, error)
- func (r *Router) Send(ctx context.Context, envelope *message.Envelope) error
- func (r *Router) SetDefaultChannel(ch *Channel)
- func (r *Router) Start(ctx context.Context) error
- func (r *Router) Stop()
Constants ¶
This section is empty.
Variables ¶
View Source
var ( ErrChannelNotFound = errors.New("channel not found") ErrChannelClosed = errors.New("channel closed") ErrChannelFull = errors.New("channel buffer full") )
常见错误
Functions ¶
This section is empty.
Types ¶
type Channel ¶
type Channel struct {
// contains filtered or unexported fields
}
Channel 消息通道
func NewChannel ¶
func NewChannel(name string, msgType message.MessageType, bufferSize int) *Channel
NewChannel 创建消息通道
type Router ¶
type Router struct {
// contains filtered or unexported fields
}
Router 消息路由器
func (*Router) GetChannel ¶
func (r *Router) GetChannel(msgType message.MessageType) *Channel
GetChannel 获取消息通道
func (*Router) GetChannelByName ¶
GetChannelByName 按名称获取通道
func (*Router) RegisterChannel ¶
RegisterChannel 注册消息通道
func (*Router) RegisterTypeChannel ¶
func (r *Router) RegisterTypeChannel(msgType message.MessageType, bufSize int) *Channel
RegisterTypeChannel 按类型注册通道
func (*Router) Request ¶
func (r *Router) Request(ctx context.Context, envelope *message.Envelope) (*message.Envelope, error)
Request 发送请求并等待响应
func (*Router) SetDefaultChannel ¶
SetDefaultChannel 设置默认通道
Click to show internal directories.
Click to hide internal directories.