@@ -13,9 +13,10 @@ import (
1313)
1414
1515type connReq struct {
16- function func (rsp liFace.IRespond )
17- req liFace.IRequest
18- time int64
16+ successFun func (rsp liFace.IRespond )
17+ failFun func (rsp liFace.IRespond )
18+ req liFace.IRequest
19+ time int64
1920}
2021
2122type Connection struct {
@@ -220,7 +221,7 @@ func (c *Connection) RemoteAddr() net.Addr {
220221
221222
222223//直接将Message数据发送数据给远程的TCP客户端
223- func (c * Connection ) RpcCall (msgName string , data []byte , f func (rsp liFace.IRespond )) error {
224+ func (c * Connection ) RpcCall (msgName string , data []byte , success func ( rsp liFace. IRespond ), fail func (rsp liFace.IRespond )) error {
224225 c .rpcLock .Lock ()
225226 defer c .rpcLock .Unlock ()
226227
@@ -234,9 +235,10 @@ func (c *Connection) RpcCall(msgName string, data []byte, f func(rsp liFace.IRes
234235 if err == nil {
235236 r := Request {msg :m ,conn :c }
236237 rpc := connReq {
237- function : f ,
238- req : & r ,
239- time : time .Now ().UnixNano (),
238+ successFun : success ,
239+ failFun : fail ,
240+ req : & r ,
241+ time : time .Now ().UnixNano (),
240242 }
241243 c .rpcMap [c .lastSeq ] = rpc
242244 }
@@ -284,8 +286,8 @@ func (c *Connection) CheckRpc(seq uint32, rsp liFace.IMessage) bool{
284286 return false
285287 }else {
286288 r := Respond {msg :rsp , req :rpc .req }
287- if rpc .function != nil {
288- rpc .function (& r )
289+ if rpc .successFun != nil {
290+ rpc .successFun (& r )
289291 }
290292 delete (c .rpcMap , seq )
291293 return true
@@ -309,8 +311,8 @@ func (c *Connection) checkTimeOut(){
309311 msg .SetMsgName (rpc .req .GetMessage ().GetMsgName ())
310312 msg .SetSeq (rpc .req .GetMessage ().GetSeq ())
311313 r := Respond {msg :& msg , req :rpc .req }
312- if rpc .function != nil {
313- rpc .function (& r )
314+ if rpc .failFun != nil {
315+ rpc .failFun (& r )
314316 }
315317 delete (c .rpcMap , rpc .req .GetMessage ().GetSeq ())
316318 utils .Log .Info ("rpc %s timeout" , rpc .req .GetMessage ().GetMsgName ())
0 commit comments