From af146872fede8a09bde1091647a1b5d89fe3afa9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A5=B6=E7=88=B8?= Date: Fri, 13 Dec 2019 17:56:14 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=86=85=E5=AD=98=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- go.mod | 2 ++ model/server.go | 4 ++-- service/rpc/nezha.go | 6 ++++-- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/go.mod b/go.mod index 912e532..a3855a4 100644 --- a/go.mod +++ b/go.mod @@ -22,5 +22,7 @@ require ( github.com/spf13/viper v1.6.1 golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45 golang.org/x/sys v0.0.0-20191128015809-6d18c012aee9 // indirect + golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135 // indirect google.golang.org/grpc v1.25.1 + honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc // indirect ) diff --git a/model/server.go b/model/server.go index af9eb2e..d7db0dc 100644 --- a/model/server.go +++ b/model/server.go @@ -10,8 +10,8 @@ type Server struct { Name string Secret string - Host Host - State State + Host *Host + State *State Stream pb.NezhaService_HeartbeatServer `gorm:"-" json:"-"` StreamClose chan<- error `gorm:"-" json:"-"` diff --git a/service/rpc/nezha.go b/service/rpc/nezha.go index e650353..3fc3222 100644 --- a/service/rpc/nezha.go +++ b/service/rpc/nezha.go @@ -21,9 +21,10 @@ func (s *NezhaHandler) ReportState(c context.Context, r *pb.State) (*pb.Receipt, if clientID, err = s.Auth.Check(c); err != nil { return nil, err } + state := model.PB2State(r) dao.ServerLock.RLock() defer dao.ServerLock.RUnlock() - dao.ServerList[clientID].State = model.PB2State(r) + dao.ServerList[clientID].State = &state return &pb.Receipt{Proced: true}, nil } @@ -61,8 +62,9 @@ func (s *NezhaHandler) Register(c context.Context, r *pb.Host) (*pb.Receipt, err if clientID, err = s.Auth.Check(c); err != nil { return nil, err } + host := model.PB2Host(r) dao.ServerLock.RLock() defer dao.ServerLock.RUnlock() - dao.ServerList[clientID].Host = model.PB2Host(r) + dao.ServerList[clientID].Host = &host return &pb.Receipt{Proced: true}, nil }