MCPcopy Index your code
hub / github.com/koding/kite / processHeartbeats

Method processHeartbeats

heartbeat.go:52–84  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

50}
51
52func (k *Kite) processHeartbeats() {
53 var (
54 ping func() error
55 t = time.NewTicker(time.Second) // dummy initial value
56 )
57
58 t.Stop()
59
60 for {
61 select {
62 case <-t.C:
63 switch err := ping(); err {
64 case nil:
65 case errRegisterAgain:
66 t.Stop()
67 default:
68 k.Log.Error("%s", err)
69 }
70 case <-k.closeC:
71 t.Stop()
72 return
73 case req := <-k.heartbeatC:
74 t.Stop()
75
76 if req == nil {
77 continue
78 }
79
80 t = time.NewTicker(req.interval)
81 ping = req.ping
82 }
83 }
84}
85
86// RegisterHTTPForever is just like RegisterHTTP however it first tries to
87// register forever until a response from kontrol is received. It's useful to

Callers 1

NewWithConfigFunction · 0.95

Calls 1

ErrorMethod · 0.65

Tested by

no test coverage detected