| 1234567891011121314151617181920212223242526272829303132333435 |
- package metrics
- import "os"
- type Healthcheck interface {
- Check()
- Error() os.Error
- Healthy()
- Unhealthy(os.Error)
- }
- type healthcheck struct {
- err os.Error
- f func(Healthcheck)
- }
- func NewHealthcheck(f func(Healthcheck)) Healthcheck {
- return &healthcheck{nil, f}
- }
- func (h *healthcheck) Check() {
- h.f(h)
- }
- func (h *healthcheck) Error() os.Error {
- return h.err
- }
- func (h *healthcheck) Healthy() {
- h.err = nil
- }
- func (h *healthcheck) Unhealthy(err os.Error) {
- h.err = err
- }
|