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  }