客户端事件通过 SetEvent
方法进行设置。
客户端事件有两个,它们分别定义为:
- type onErrorEvent interface {
- OnError(name string, err error)
- }
- type onFailswitchEvent interface {
- OnFailswitch(Client)
- }
因为 go 语言不需要显式实现接口的特点,所以这两个事件本身被设置为私有接口。但这并不影响你去实现它,这两个事件可以单独实现,也可以一起实现。通过 SetEvent
方法进行设置时,设置的事件对象中应该包含所有你希望实现的事件。
在客户端异步调用发生了错误,但是回调函数中的最后一个参数不是 error
类型参数时,该事件会被触发。当异步调用的回调函数本身发生了 panic 时,该事件也会被触发。
如果调用的 Failswitch
设置为 true
,当在调用中出现网络错误,进行服务器切换时,该事件会被触发。