...
1 package zk
2
3 import "github.com/go-kit/log"
4
5
6 type Registrar struct {
7 client Client
8 service Service
9 logger log.Logger
10 }
11
12
13
14 type Service struct {
15 Path string
16 Name string
17 Data []byte
18 node string
19 }
20
21
22
23 func NewRegistrar(client Client, service Service, logger log.Logger) *Registrar {
24 return &Registrar{
25 client: client,
26 service: service,
27 logger: log.With(logger,
28 "service", service.Name,
29 "path", service.Path,
30 "data", string(service.Data),
31 ),
32 }
33 }
34
35
36 func (r *Registrar) Register() {
37 if err := r.client.Register(&r.service); err != nil {
38 r.logger.Log("err", err)
39 } else {
40 r.logger.Log("action", "register")
41 }
42 }
43
44
45 func (r *Registrar) Deregister() {
46 if err := r.client.Deregister(&r.service); err != nil {
47 r.logger.Log("err", err)
48 } else {
49 r.logger.Log("action", "deregister")
50 }
51 }
52
View as plain text