From 785f7cda2fa115c7d7b62b577c405ae89d0bac2a Mon Sep 17 00:00:00 2001 From: GoEdgeLab Date: Sat, 4 Mar 2023 09:34:10 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=97=A0=E6=B3=95=E5=90=AF?= =?UTF-8?q?=E5=8A=A8=E5=AE=89=E8=A3=85=E7=9A=84Bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- internal/nodes/session_manager.go | 31 +++++++++++++++++++------------ 1 file changed, 19 insertions(+), 12 deletions(-) diff --git a/internal/nodes/session_manager.go b/internal/nodes/session_manager.go index fe5f7df7..f3a81c8a 100644 --- a/internal/nodes/session_manager.go +++ b/internal/nodes/session_manager.go @@ -12,18 +12,11 @@ import ( ) type SessionManager struct { - life uint - rpcClient *rpc.RPCClient + life uint } func NewSessionManager() (*SessionManager, error) { - rpcClient, err := rpc.SharedRPC() - if err != nil { - return nil, err - } - return &SessionManager{ - rpcClient: rpcClient, - }, nil + return &SessionManager{}, nil } func (this *SessionManager) Init(config *actions.SessionConfig) { @@ -38,7 +31,12 @@ func (this *SessionManager) Read(sid string) map[string]string { var result = map[string]string{} - resp, err := this.rpcClient.LoginSessionRPC().FindLoginSession(this.rpcClient.Context(0), &pb.FindLoginSessionRequest{Sid: sid}) + rpcClient, err := rpc.SharedRPC() + if err != nil { + return map[string]string{} + } + + resp, err := rpcClient.LoginSessionRPC().FindLoginSession(rpcClient.Context(0), &pb.FindLoginSessionRequest{Sid: sid}) if err != nil { logs.Println("SESSION", "read '"+sid+"' failed: "+err.Error()) return result @@ -63,7 +61,12 @@ func (this *SessionManager) WriteItem(sid string, key string, value string) bool return false } - _, err := this.rpcClient.LoginSessionRPC().WriteLoginSessionValue(this.rpcClient.Context(0), &pb.WriteLoginSessionValueRequest{ + rpcClient, err := rpc.SharedRPC() + if err != nil { + return false + } + + _, err = rpcClient.LoginSessionRPC().WriteLoginSessionValue(rpcClient.Context(0), &pb.WriteLoginSessionValueRequest{ Sid: sid, Key: key, Value: value, @@ -81,7 +84,11 @@ func (this *SessionManager) Delete(sid string) bool { return false } - _, err := this.rpcClient.LoginSessionRPC().DeleteLoginSession(this.rpcClient.Context(0), &pb.DeleteLoginSessionRequest{Sid: sid}) + rpcClient, err := rpc.SharedRPC() + if err != nil { + return false + } + _, err = rpcClient.LoginSessionRPC().DeleteLoginSession(rpcClient.Context(0), &pb.DeleteLoginSessionRequest{Sid: sid}) if err != nil { logs.Println("SESSION", "delete '"+sid+"' failed: "+err.Error()) }