Hprose 客户端 - 客户端事件

优质
小牛编辑
150浏览
2023-12-01

客户端事件通过 SetEvent 方法进行设置。

客户端事件有两个,它们分别定义为:

  1. type onErrorEvent interface {
  2. OnError(name string, err error)
  3. }
  4.  
  5. type onFailswitchEvent interface {
  6. OnFailswitch(Client)
  7. }

因为 go 语言不需要显式实现接口的特点,所以这两个事件本身被设置为私有接口。但这并不影响你去实现它,这两个事件可以单独实现,也可以一起实现。通过 SetEvent 方法进行设置时,设置的事件对象中应该包含所有你希望实现的事件。

OnError 事件

在客户端异步调用发生了错误,但是回调函数中的最后一个参数不是 error 类型参数时,该事件会被触发。当异步调用的回调函数本身发生了 panic 时,该事件也会被触发。

OnFailswitch 事件

如果调用的 Failswitch 设置为 true,当在调用中出现网络错误,进行服务器切换时,该事件会被触发。