From 9b55e2640aa0749525ab2512b6f60b59f47009cb Mon Sep 17 00:00:00 2001 From: sk <123456@qq.com> Date: Sat, 18 Jan 2025 16:10:20 +0800 Subject: [PATCH] =?UTF-8?q?modify=20rpc=E8=B0=83=E7=94=A8=E8=AE=B0?= =?UTF-8?q?=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- rpc/rpclient.go | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/rpc/rpclient.go b/rpc/rpclient.go index 86ece61..5733872 100644 --- a/rpc/rpclient.go +++ b/rpc/rpclient.go @@ -115,7 +115,8 @@ func (this *RPClient) CallWithTimeout(serviceMethod string, args interface{}, re }() if this.client == nil { - return ErrRPClientNoConn + err = ErrRPClientNoConn + return err } if d <= time.Second { @@ -125,7 +126,8 @@ func (this *RPClient) CallWithTimeout(serviceMethod string, args interface{}, re call := this.client.Go(serviceMethod, args, reply, make(chan *rpc.Call, 1)) select { case <-time.After(d): - return ErrRPClientCallTimeout + err = ErrRPClientCallTimeout + return err case call = <-call.Done: err = call.Error } @@ -142,25 +144,30 @@ func (this *RPClient) CallWithTimeout(serviceMethod string, args interface{}, re dd := d - time.Now().Sub(start) if dd <= 0 { - return ErrRPClientCallTimeout + err = ErrRPClientCallTimeout + return err } select { case <-time.After(dd): - return ErrRPClientCallTimeout + err = ErrRPClientCallTimeout + return err case <-dailed: dd = d - time.Now().Sub(start) if dd <= 0 { - return ErrRPClientCallTimeout + err = ErrRPClientCallTimeout + return err } call = this.client.Go(serviceMethod, args, reply, make(chan *rpc.Call, 1)) dd = d - time.Now().Sub(start) if dd <= 0 { - return ErrRPClientCallTimeout + err = ErrRPClientCallTimeout + return err } select { case <-time.After(dd): - return ErrRPClientCallTimeout + err = ErrRPClientCallTimeout + return err case call = <-call.Done: err = call.Error }