trpc.group/trpc-go/trpc-go@v1.0.3/healthcheck/watch.go (about) 1 // 2 // 3 // Tencent is pleased to support the open source community by making tRPC available. 4 // 5 // Copyright (C) 2023 THL A29 Limited, a Tencent company. 6 // All rights reserved. 7 // 8 // If you have downloaded a copy of the tRPC source code from Tencent, 9 // please note that tRPC source code is licensed under the Apache 2.0 License, 10 // A copy of the Apache 2.0 License is included in this file. 11 // 12 // 13 14 package healthcheck 15 16 var watchers = make(map[string][]func(Status)) 17 18 // Watch registers a service status watcher. 19 // NOTE: No lock is used in this function, so it is not concurrency safe. 20 func Watch(serviceName string, onStatusChanged func(Status)) { 21 watchers[serviceName] = append(watchers[serviceName], onStatusChanged) 22 } 23 24 // GetWatchers returns all registered watchers. 25 // NOTE: No lock is used in this function, so it is not concurrency safe. 26 // NOTE: The result is read-only, DO NOT modify. 27 func GetWatchers() map[string][]func(Status) { 28 return watchers 29 }