-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdiscover.go
51 lines (40 loc) · 1.46 KB
/
discover.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
package rd
import (
clientV3 "go.etcd.io/etcd/client/v3"
"github.com/v8fg/rd/config"
"github.com/v8fg/rd/internal/discovering"
)
var (
discoverRegistry = discovering.NewDiscoverRegistry()
)
func init() {
}
// DiscoverEtcd etcd discover with some configurations.
// registry key: name or key, the name preferred.
func DiscoverEtcd(config *config.DiscoverConfig, client *clientV3.Client, etcdConfig *clientV3.Config) error {
return discoverRegistry.Register(config, client, etcdConfig)
}
// DiscoverInfo return the basic info about discover: key and discover addr.
func DiscoverInfo() string {
return discoverRegistry.Info()
}
// Resolver shall call auto by the run
// func Resolver(scheme, service string) resolver.Builder {
// return discoverRegistry.Resolver(scheme, service)
// }
// DiscoverRun the registers have been registered.
func DiscoverRun() []error {
return discoverRegistry.Run()
}
// DiscoverRunWithParam run discover have been registered with the specified name or the combine: scheme and service.
func DiscoverRunWithParam(name, scheme, service string) []error {
return discoverRegistry.RunWithParam(name, scheme, service)
}
// DiscoverClose close all the running discovers.
func DiscoverClose() {
discoverRegistry.Close()
}
// DiscoverCloseWithParam close all the running discovers with the specified name or the combine: scheme and service.
func DiscoverCloseWithParam(name, scheme, service string) {
discoverRegistry.CloseWithParam(name, scheme, service)
}