diff --git a/internal/api/route.go b/internal/api/route.go index 202c8f18d..04414a5d0 100644 --- a/internal/api/route.go +++ b/internal/api/route.go @@ -20,6 +20,7 @@ import ( "fmt" "github.com/openimsdk/open-im-server/v3/pkg/common/servererrs" "github.com/openimsdk/tools/discovery" + "github.com/openimsdk/tools/system/program" "net" "net/http" "os" @@ -41,7 +42,6 @@ import ( ginprom "github.com/openimsdk/open-im-server/v3/pkg/common/ginprometheus" "github.com/openimsdk/open-im-server/v3/pkg/common/prommetrics" "github.com/openimsdk/open-im-server/v3/pkg/rpcclient" - util "github.com/openimsdk/open-im-server/v3/pkg/util/genutil" "github.com/openimsdk/protocol/constant" "github.com/openimsdk/tools/apiresp" "github.com/openimsdk/tools/errs" @@ -122,7 +122,7 @@ func Start(ctx context.Context, config *config.GlobalConfig, port int, proPort i defer cancel() select { case <-sigs: - util.SIGTERMExit() + program.SIGTERMExit() err := server.Shutdown(ctx) if err != nil { return errs.WrapMsg(err, "shutdown err") diff --git a/internal/msggateway/user_map.go b/internal/msggateway/user_map.go index ffaff75d9..7b30f8a8a 100644 --- a/internal/msggateway/user_map.go +++ b/internal/msggateway/user_map.go @@ -62,13 +62,13 @@ func (u *UserMap) Set(key string, v *Client) { oldClients := allClients.([]*Client) oldClients = append(oldClients, v) u.m.Store(key, oldClients) - } - - log.ZDebug(context.Background(), "Set not existed", "user_id", key, "client_user_id", v.UserID) + } else { + log.ZDebug(context.Background(), "Set not existed", "user_id", key, "client_user_id", v.UserID) - var clients []*Client - clients = append(clients, v) - u.m.Store(key, clients) + var clients []*Client + clients = append(clients, v) + u.m.Store(key, clients) + } } func (u *UserMap) delete(key string, connRemoteAddr string) (isDeleteUser bool) { @@ -114,7 +114,7 @@ func (u *UserMap) deleteClients(key string, clients []*Client) (isDeleteUser boo oldClients := allClients.([]*Client) var remainingClients []*Client for _, client := range oldClients { - if _, shouldBeDeleted := deleteMap[client.ctx.GetRemoteAddr()]; !shouldBeDeleted { + if _, shouldBeDeleted := m[client.ctx.GetRemoteAddr()]; !shouldBeDeleted { remainingClients = append(remainingClients, client) } } diff --git a/pkg/common/discoveryregister/kubernetes/kubernetes.go b/pkg/common/discoveryregister/kubernetes/kubernetes.go index b789bc48e..721928238 100644 --- a/pkg/common/discoveryregister/kubernetes/kubernetes.go +++ b/pkg/common/discoveryregister/kubernetes/kubernetes.go @@ -22,7 +22,7 @@ import ( "strconv" "strings" - "github.com/openimsdk/tools/discoveryregistry" + "github.com/openimsdk/tools/discovery" "github.com/openimsdk/tools/log" "github.com/stathat/consistent" "google.golang.org/grpc" @@ -36,7 +36,7 @@ type K8sDR struct { gatewayName string } -func NewK8sDiscoveryRegister(gatewayName string) (discoveryregistry.SvcDiscoveryRegistry, error) { +func NewK8sDiscoveryRegister(gatewayName string) (discovery.SvcDiscoveryRegistry, error) { gatewayConsistent := consistent.New() gatewayHosts := getMsgGatewayHost(context.Background(), gatewayName) for _, v := range gatewayHosts { diff --git a/pkg/common/discoveryregister/zookeeper/zookeeper.go b/pkg/common/discoveryregister/zookeeper/zookeeper.go index b36b2327d..ec7076661 100644 --- a/pkg/common/discoveryregister/zookeeper/zookeeper.go +++ b/pkg/common/discoveryregister/zookeeper/zookeeper.go @@ -15,30 +15,29 @@ package zookeeper import ( + "github.com/openimsdk/tools/discovery" "os" "strings" "time" "github.com/openimsdk/open-im-server/v3/pkg/common/config" - "github.com/openimsdk/tools/discoveryregistry" - openkeeper "github.com/openimsdk/tools/discoveryregistry/zookeeper" + "github.com/openimsdk/tools/discovery/zookeeper" ) // NewZookeeperDiscoveryRegister creates a new instance of ZookeeperDR for Zookeeper service discovery and registration. -func NewZookeeperDiscoveryRegister(zkConf *config.Zookeeper) (discoveryregistry.SvcDiscoveryRegistry, error) { +func NewZookeeperDiscoveryRegister(zkConf *config.Zookeeper) (discovery.SvcDiscoveryRegistry, error) { schema := getEnv("ZOOKEEPER_SCHEMA", zkConf.Schema) zkAddr := getZkAddrFromEnv(zkConf.ZkAddr) username := getEnv("ZOOKEEPER_USERNAME", zkConf.Username) password := getEnv("ZOOKEEPER_PASSWORD", zkConf.Password) - zk, err := openkeeper.NewClient( + zk, err := zookeeper.NewZkClient( zkAddr, schema, - openkeeper.WithFreq(time.Hour), - openkeeper.WithUserNameAndPassword(username, password), - openkeeper.WithRoundRobin(), - openkeeper.WithTimeout(10), - // openkeeper.WithLogger(log.NewZkLogger()), + zookeeper.WithFreq(time.Hour), + zookeeper.WithUserNameAndPassword(username, password), + zookeeper.WithRoundRobin(), + zookeeper.WithTimeout(10), ) if err != nil { return nil, err diff --git a/pkg/rpcclient/conversation.go b/pkg/rpcclient/conversation.go index ecbfa2f73..9c15b78ff 100644 --- a/pkg/rpcclient/conversation.go +++ b/pkg/rpcclient/conversation.go @@ -17,11 +17,11 @@ package rpcclient import ( "context" "fmt" + "github.com/openimsdk/tools/system/program" "github.com/openimsdk/open-im-server/v3/pkg/common/config" - util "github.com/openimsdk/open-im-server/v3/pkg/util/genutil" pbconversation "github.com/openimsdk/protocol/conversation" - "github.com/openimsdk/tools/discoveryregistry" + "github.com/openimsdk/tools/discovery" "github.com/openimsdk/tools/errs" "google.golang.org/grpc" ) @@ -29,14 +29,14 @@ import ( type Conversation struct { Client pbconversation.ConversationClient conn grpc.ClientConnInterface - discov discoveryregistry.SvcDiscoveryRegistry + discov discovery.SvcDiscoveryRegistry Config *config.GlobalConfig } -func NewConversation(discov discoveryregistry.SvcDiscoveryRegistry, rpcRegisterName string) *Conversation { +func NewConversation(discov discovery.SvcDiscoveryRegistry, rpcRegisterName string) *Conversation { conn, err := discov.GetConn(context.Background(), rpcRegisterName) if err != nil { - util.ExitWithError(err) + program.ExitWithError(err) } client := pbconversation.NewConversationClient(conn) return &Conversation{discov: discov, conn: conn, Client: client} @@ -44,7 +44,7 @@ func NewConversation(discov discoveryregistry.SvcDiscoveryRegistry, rpcRegisterN type ConversationRpcClient Conversation -func NewConversationRpcClient(discov discoveryregistry.SvcDiscoveryRegistry, rpcRegisterName string) ConversationRpcClient { +func NewConversationRpcClient(discov discovery.SvcDiscoveryRegistry, rpcRegisterName string) ConversationRpcClient { return ConversationRpcClient(*NewConversation(discov, rpcRegisterName)) }